The Finite Field Assembly Programming Language : a cuda alternative designed to emulate GPUs on CPUs
Posted by DataBaeBee@reddit | programming | View on Reddit | 15 comments
hpxvzhjfgb@reddit
I don't know what this is or what it has to do with GPUs and I don't really care, but I had a quick look though the repo because the name caught my attention, and I don't think you know what a finite field is. maybe I'm wrong, but the code that I skimmed through seems to just be about the rings Z/nZ, i.e. modular arithmetic. also I saw an array called something like fieldOrders that contained 15, 17, 19, which is strange because there is no field of order 15.
Serious-Regular@reddit
Not that I know what all this person is trying to accomplish but they're using Chinese remainder theorem https://github.com/LeetArxiv/Finite-Field-Assembly/blob/main/ff_asm_runtime.h#L120 to factorize something (shot in the dark guess non-prime power orders).
Come to think this is probably just LA over finite fields using the Chinese remainder theorem. Actually not sure why GPU is mentioned because the implementation uses gmp.
hpxvzhjfgb@reddit
I saw the use of chinese remainder theorem, but that just allows you split ℤ/nℤ into a product of ℤ/p^(k)ℤs, and the finite field of order p^k is not ℤ/p^(k)ℤ (unless k=1).
Serious-Regular@reddit
Ring field whatever. The point is to use CRT to perform operations in the individual quotients, in parallel, and then pull back into the product ring using CRT. And like I said this is definitely a legit technique.
apnorton@reddit
Eh, the point isn't the difference between rings and fields; the point is that someone who "studied [finite field theory] at Yale" wouldn't think there's a field of order 15.
To be honest, the README reads like a scammer, or someone trying to overinflate their accomplishments: 1. All but one chapter of the documentation of their code is locked behind a paywall on substack
Calls the terms "congruences" and "primes" "silly math jargon" on their substack.
Appeals to "that big corporation is evil" through their mission statement of "democratize AI compute such that the systems of the future are neither controlled by rich countries nor big tech."
Not saying they are a scammer, but it just seems... a little suspect to me.
Serious-Regular@reddit
man what are you even on about...
the impl is literally two headers (and one of them is a list of primes). if you can't figure out the what/where/how/why of this just by skimming those headers (rather than relying on reading into the README) then you shouldn't be on r/programming
floodyberry@reddit
an inefficient way to do simple math
this repo and his paywalled substack
multiprecision arithmetic and number theory
if it's not to entice people to sign up for his substack i have no fucking clue, because it will never be a useful or efficient "gpu emulator"
Serious-Regular@reddit
bruh you people are high
https://leetarxiv.substack.com/archive?sort=new
i don't see any paywall?
it's just a kid trying stuff out. leave it alone
floodyberry@reddit
try viewing one of the articles
https://twitter.com/murage_kibicho/status/1867638813343850939
Serious-Regular@reddit
Man who fuckin cares seriously
thyraxe@reddit
just to see if i get this: there's no finite field of order 15 since that polynomial would be reducable because 15 is not a prime number, right?
Serious-Regular@reddit
You're thinking too hard. For a group to be a field the multiplication operation needs to be invertible. For that to be true you need unique inverses and that can only happen if the characteristic is a prime power because otherwise multiplication will "wrap around and overlap" for the divisors of the characteristic. Reducible polynomials blah blah blah are just a corollary of that.
zjm555@reddit
Gotta love software that you can only even understand what it might be used for if you have a damn PhD in number theory.
edwardkmett@reddit
A repo with trivial amount of code and a link to a paywalled substack with a bunch of to be continued articles. Yeah, nah.
cazzipropri@reddit
Democratize AI?
Emulating GPUs does not offer the performance of GPUs. And what you need to democratize any computer intensive task is to give them enormous amounts of compute for cheap.
Emulating one device that has dozens of teraflops on one that offers a fraction of a teraflop is not the solution.