Our great sponsors
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
-
GAPFixFractal
A program to generate pictures of Mandelbrot or Julia sets, using arbitrary precision arithmetic on CUDA GPUs.
I verified that the limiting factor is memory bandwidth - and that once we switch to a fully CPU-bound mode (with option -p 100) the computation speed scales linearly with more cores.
Nice work and interesting route. My Mandelbrot route was (IIRC) [machine/OS then language] IBM XT CGA Turbo Pascal, Sun 3/260 Unix Pascal with SunCORE, Masscomp/Chromatics graphics box Unix C with GKS, Sun 3/260 Unix C with SunCORE, Amiga C, Pentium PC VGA C, Pentium PC Windows C, My own CPU and computer design Assembly, and finally Pentium PC Windows/Linux Assembly (with C for GUI part). If you want to see my Windows/Linux assembly code (basic x86 assembly) here's the links: https://github.com/mrmcsoftware/FractalAsm (for Windows) https://github.com/mrmcsoftware/FractalAsm-Linux (for Linux) . And if you want to see it running on my own CPU and computer design (via simulator), view my video https://www.youtube.com/watch?v=ygf0aa1r3NY (part of a series of videos). [You can probably relate, due to your FPGA experience]
Nice work and interesting route. My Mandelbrot route was (IIRC) [machine/OS then language] IBM XT CGA Turbo Pascal, Sun 3/260 Unix Pascal with SunCORE, Masscomp/Chromatics graphics box Unix C with GKS, Sun 3/260 Unix C with SunCORE, Amiga C, Pentium PC VGA C, Pentium PC Windows C, My own CPU and computer design Assembly, and finally Pentium PC Windows/Linux Assembly (with C for GUI part). If you want to see my Windows/Linux assembly code (basic x86 assembly) here's the links: https://github.com/mrmcsoftware/FractalAsm (for Windows) https://github.com/mrmcsoftware/FractalAsm-Linux (for Linux) . And if you want to see it running on my own CPU and computer design (via simulator), view my video https://www.youtube.com/watch?v=ygf0aa1r3NY (part of a series of videos). [You can probably relate, due to your FPGA experience]
I have a program that does this, using the GPU instead of SSE or AVX: https://github.com/bernds/GAPFixFractal
Really cool work. Would be interested on your take on Futhark.
And finally, to avoid thermal throttling issues and make the experiments repeatable, I wrote a script to wait for the CPU to cool down BEFORE running.