High Performance Compute

Newton Fractal ISPC

Real-time fractal rendering accelerated using Intel's Implicit SPMD Program Compiler (ISPC). Leveraging SIMD instructions for massive performance gains.

01

Video

A Newton Fractal is defined by the roots of a polynomial. Finding these roots requires iterations that can be parallelized effectively.

With adjustable parameters.
02

Key Features

SPMD on SIMD

Utilizes ISPC to compile C-style code into highly optimized SIMD instructions (Single Program, Multiple Data). This allows a single CPU core to process multiple pixels simultaneously using vector registers (AVX2).

Settings

It supports adjustable polynomial degree n and iteration counts.

03

Running the Binary

If you just want to try it out without compiling:

  1. Download NewtonFractal.zip from the Releases page.
  2. Extract it anywhere.
  3. Run newton.exe.

NOTE: The build targets modern CPUs with AVX2 support. Older CPUs may require a rebuild with a lower ISPC target (e.g., sse2-i32x4).

04

Building from Source

To build the project locally, ensure you have CMake 3.16+, a C++17 compiler, and the ISPC compiler installed.

# 1. Configure the project (Release mode for max speed) cmake -S . -B build -DCMAKE_BUILD_TYPE=Release # 2. Compile the binaries cmake --build build --config Release