from numba import float64, uint32 from numba.cuda.compiler import compile_ptx from numba.cuda.testing import skip_on_cudasim, unittest @skip_on_cudasim('Compilation unsupported in the simulator') class TestCudaMandel(unittest.TestCase): def test_mandel(self): """Just make sure we can compile this """ def mandel(tid, min_x, max_x, min_y, max_y, width, height, iters): pixel_size_x = (max_x - min_x) / width pixel_size_y = (max_y - min_y) / height x = tid % width y = tid / width real = min_x + x * pixel_size_x imag = min_y + y * pixel_size_y c = complex(real, imag) z = 0.0j for i in range(iters): z = z * z + c if (z.real * z.real + z.imag * z.imag) >= 4: return i return iters args = (uint32, float64, float64, float64, float64, uint32, uint32, uint32) compile_ptx(mandel, args, device=True) if __name__ == '__main__': unittest.main()