Should've done this a long time ago but oh well
All ppms are stored at output/ms.ppm
gcc mandelbrot.c -o mandelbrot -lm
./mandelbrot
OpenMP:
gcc parallel/mandelbrot_openmp.c -o mandelbrot -fopenmp -lm
./mandelbrot
OpenMPI:
mpicc parallel/mandelbrot_openmpi.c -o mandelbrot -lm
mpirun -np $(nproc) -mca btl ^openib mandelbrot
or with Slurm
mpicc parallel/mandelbrot_openmpi.c -o mandelbrot -lm
salloc -n {cores} mpiexec mandelbrot
Demonstration of set rendered in parallel
looks nice
mpicc iters/mandelbrot.c -o mandelbrot -lm
mpirun -np $(nproc) -mca btl ^openib mandelbrot
or with Slurm
mpicc iters/mandelbrot.c -o iters/a.out -lm -Ofast
sbatch iters/iter.sh
variation of conventional mandelbrot equation where X varies.
in multibrot/multibrot.c
set MIN_POWER
and MAX_POWER
to set range for X
mpicc multibrot/multibrot.c -o multibrot -lm -Ofast
mpirun -np $(nproc) -mca btl ^openib multibrot
or with Slurm
mpicc multibrot/multibrot.c -o multibrot/a.out -lm -Ofast
sbatch multibrot/multibrot.sh
hands down the coolest part
mpicc zoom/mandelbrot.c -o mandelbrot -lm
mpirun -np $(nproc) -mca btl ^openib mandelbort
or with Slurm
mpicc zoom/mandelbrot.c -o zoom/a.out -lm -Ofast
sbatch zoom/zoom.sh