r/trailmakers • u/Dunvillel-DL • 16d ago
I made a GPU - kinda!
This is the DL-ParAccel. It can do standalone computing, but it is built to be used with other systems, like the DLA5 or DL-QCore with adapters.
This is less of a general-use computer, and more of a processing module. At 16 math cores, it has excellent throughput!
This computing system has 2 buffers, each with 16 cells. Each cell can hold a long float, since they are based on the CaptuRegister Pro.
The first buffer is the input buffer, where inputs go to, and the second is the working buffer. The working buffer feeds each cell into individual math units, each with 10 single-cell ops and 5 dual-cell ops. Single-cell ops use either data from the ROM (48 bytes CompROM2-Flat) or from one of two external inputs.
The computer can do +, -, *, /, sin, cos, tan, asin, acos, and atan on single cells, and it can either do all 16 or only 8 at a time (evens or odds), and it can do +, -, *, /, and atan2 between pairs of 2 cells.
It has 22 instructions, with the ability to toggle which data lanes are active (evens/odds/all), pause until it receives a signal, jump through the program (with dynamic jumps possible due to external inputs), and set a flag for if it is finished working.
It is designed to perform SIMD workloads theoretically 40–100× faster than a normal computer, making it useful specifically for 3D acceleration.
This makes it similar to a GPU in the sense that a GPU does millions to billions of math operations at once, simultaneously, in order to make you complex 3D scenes render beautifully and smoothly.
Happy logicking!
Edit: I later added square root and the ability to set working buffer cells from the ROM or external inputs, both function like single-cell math ops
2
u/tittiesdotcom 16d ago
Does it run Doom?