pyVkFFT test results

pyvkfft: 2024.2b0, VkFFFT:1.3.5[v1.3.4-19-gae94053-dirty] CUDA: driver 12.2.0, runtime 12.2.0, compiled 12.2.0 host : scisoft13

Methodology: the included graphs measure the accuracy of the forward and backward transforms: an array is generated with random uniform values between -0.5 and 0.5, and the results of its transform are compared with either pyfftw (in long double precision) if available, or scipy if available, or numpy fft. The L2 curve measures the average square norm difference, and the L the maximum difference.

Note: for the R2C inverse transform, the result of the forward transform is used instead of re-using the random array (in order to have a proper half-Hermitian array), contrary to what is done for other transforms. This explains why the IFFT R2C maximum (L) errors are larger.

Note 2: some "errors" for DCT may be due to unsupported sizes in VkFFT, which vary depending on the card and language used (amount of shared/local memory). So they just indicate a current limit for the transform sizes rather than a real error.

[Click on the highlighted cells for details and accuracy graphs vs the transform size]

GPU backend transform ndim range radix dtype inplace LUT norm time-duration FAIL ERROR
gfx900pyopencl Regular multi-dimensional C2C/R2C/R2R test2024-09-26 14h56:08 +02h 19m 25s 0
gfx900pyopencl 12-1000002,3,5,7,11,13float32out-of-placeAuto12024-09-26 17h15:35 +00h 02m 18s [ 1847 tests] 0 0
gfx900pyopencl 22-4500 (N,N)2,3,5,7,11,13float32out-of-placeAuto12024-09-26 17h17:54 +00h 02m 13s [ 512 tests] 0 0
gfx900pyopencl 32-550 (N,N,N)2,3,5,7,11,13float32out-of-placeAuto12024-09-26 17h20:09 +00h 11m 35s [ 175 tests] 0 0
gfx900pyopencl 12-1000002,3,5,7,11,13float32out-of-placeAuto12024-09-26 17h31:45 +00h 02m 58s [ 1847 tests] 0 0
gfx900pyopencl 22-4500 (N,N)2,3,5,7,11,13float32out-of-placeAuto12024-09-26 17h34:45 +00h 02m 02s [ 512 tests] 0 0
gfx900pyopencl 32-550 (N,N,N)2,3,5,7,11,13float32out-of-placeAuto12024-09-26 17h36:48 +00h 03m 08s [ 175 tests] 0 0
gfx900pyopencl 12-1000002,3,5,7,11,13float64out-of-placeAuto12024-09-26 17h39:57 +00h 03m 28s [ 1847 tests] 0 0
gfx900pyopencl 22-4500 (N,N)2,3,5,7,11,13float64out-of-placeAuto12024-09-26 17h43:27 +00h 02m 57s [ 512 tests] 0 0
gfx900pyopencl 32-550 (N,N,N)2,3,5,7,11,13float64out-of-placeAuto12024-09-26 17h46:25 +00h 25m 46s [ 175 tests] 0 0
gfx900pyopencl 12-1000002,3,5,7,11,13float64out-of-placeAuto12024-09-26 18h12:12 +00h 03m 21s [ 1847 tests] 0 0
gfx900pyopencl 22-4500 (N,N)2,3,5,7,11,13float64out-of-placeAuto12024-09-26 18h15:34 +00h 06m 31s [ 512 tests] 0
gfx900pyopencl 32-550 (N,N,N)2,3,5,7,11,13float64out-of-placeAuto12024-09-26 18h22:07 +00h 08m 19s [ 175 tests] 0 0
gfx900pyopencl 12-1000002,3,5,7,11,13float32inplaceAuto12024-09-26 18h30:27 +00h 02m 18s [ 1847 tests] 0 0
gfx900pyopencl 22-4500 (N,N)2,3,5,7,11,13float32inplaceAuto12024-09-26 18h32:47 +00h 02m 13s [ 512 tests] 0 0
gfx900pyopencl 32-550 (N,N,N)2,3,5,7,11,13float32inplaceAuto12024-09-26 18h35:01 +00h 06m 07s [ 175 tests] 0 0
gfx900pyopencl 12-1000002,3,5,7,11,13float32inplaceAuto12024-09-26 18h41:09 +00h 03m 24s [ 1847 tests] 0 0
gfx900pyopencl 22-4500 (N,N)2,3,5,7,11,13float32inplaceAuto12024-09-26 18h44:34 +00h 02m 04s [ 512 tests] 0 0
gfx900pyopencl 32-550 (N,N,N)2,3,5,7,11,13float32inplaceAuto12024-09-26 18h46:39 +00h 02m 10s [ 175 tests] 0 0
gfx900pyopencl 12-1000002,3,5,7,11,13float64inplaceAuto12024-09-26 18h48:51 +00h 03m 44s [ 1847 tests] 0 0
gfx900pyopencl 22-4500 (N,N)2,3,5,7,11,13float64inplaceAuto12024-09-26 18h52:36 +00h 04m 39s [ 512 tests] 0
gfx900pyopencl 32-550 (N,N,N)2,3,5,7,11,13float64inplaceAuto12024-09-26 18h57:16 +00h 09m 53s [ 168 tests] 0 0
gfx900pyopencl 12-1000002,3,5,7,11,13float64inplaceAuto12024-09-26 19h07:11 +00h 03m 20s [ 1847 tests] 0 0
gfx900pyopencl 22-4500 (N,N)2,3,5,7,11,13float64inplaceAuto12024-09-26 19h10:33 +00h 02m 07s [ 512 tests] 0 0
gfx900pyopencl 32-550 (N,N,N)2,3,5,7,11,13float64inplaceAuto12024-09-26 19h12:41 +00h 03m 36s [ 175 tests] 0 0
gfx900pyopencl 12-1000002,3,5,7,11,13float32out-of-placeTrue12024-09-26 19h16:18 +00h 03m 44s [ 1847 tests] 0 0
gfx900pyopencl 22-4500 (N,N)2,3,5,7,11,13float32out-of-placeTrue12024-09-26 19h20:03 +00h 02m 21s [ 512 tests] 0 0
gfx900pyopencl 32-550 (N,N,N)2,3,5,7,11,13float32out-of-placeTrue12024-09-26 19h22:26 +00h 11m 03s [ 175 tests] 0 0
gfx900pyopencl 12-1000002,3,5,7,11,13float32out-of-placeTrue12024-09-26 19h33:30 +00h 06m 33s [ 1847 tests] 0
gfx900pyopencl 22-4500 (N,N)2,3,5,7,11,13float32out-of-placeTrue12024-09-26 19h40:04 +00h 04m 16s [ 512 tests] 0
gfx900pyopencl 32-550 (N,N,N)2,3,5,7,11,13float32out-of-placeTrue12024-09-26 19h44:21 +00h 02m 57s [ 175 tests] 0 0
gfx900pyopencl 12-1000002,3,5,7,11,13float32inplaceTrue12024-09-26 19h47:20 +00h 04m 32s [ 1847 tests] 0 0
gfx900pyopencl 22-4500 (N,N)2,3,5,7,11,13float32inplaceTrue12024-09-26 19h51:53 +00h 04m 35s [ 512 tests] 0
gfx900pyopencl 32-550 (N,N,N)2,3,5,7,11,13float32inplaceTrue12024-09-26 19h56:30 +00h 05m 32s [ 175 tests] 0 0
gfx900pyopencl 12-1000002,3,5,7,11,13float32inplaceTrue12024-09-26 20h02:03 +00h 05m 09s [ 1847 tests] 0 0
gfx900pyopencl 22-4500 (N,N)2,3,5,7,11,13float32inplaceTrue12024-09-26 20h07:13 +00h 04m 17s [ 512 tests] 0
gfx900pyopencl 32-550 (N,N,N)2,3,5,7,11,13float32inplaceTrue12024-09-26 20h11:31 +00h 06m 50s [ 175 tests] 0
gfx900pyopencl 12-1000002,3,5,7,11,13float32out-of-placeAuto02024-09-26 20h18:22 +00h 02m 16s [ 1847 tests] 0 0
gfx900pyopencl 22-4500 (N,N)2,3,5,7,11,13float32out-of-placeAuto02024-09-26 20h20:40 +00h 02m 10s [ 512 tests] 0 0
gfx900pyopencl 32-550 (N,N,N)2,3,5,7,11,13float32out-of-placeAuto02024-09-26 20h22:51 +00h 12m 20s [ 175 tests] 0 0
gfx900pyopencl 12-1000002,3,5,7,11,13float32out-of-placeAuto02024-09-26 20h35:13 +00h 02m 58s [ 1847 tests] 0 0
gfx900pyopencl 22-4500 (N,N)2,3,5,7,11,13float32out-of-placeAuto02024-09-26 20h38:12 +00h 02m 01s [ 512 tests] 0 0
gfx900pyopencl 32-550 (N,N,N)2,3,5,7,11,13float32out-of-placeAuto02024-09-26 20h40:15 +00h 03m 01s [ 175 tests] 0 0
gfx900pyopencl 12-1000002,3,5,7,11,13float64out-of-placeAuto02024-09-26 20h43:17 +00h 03m 57s [ 1847 tests] 0 0
gfx900pyopencl 22-4500 (N,N)2,3,5,7,11,13float64out-of-placeAuto02024-09-26 20h47:15 +00h 02m 51s [ 512 tests] 0 0
gfx900pyopencl 32-550 (N,N,N)2,3,5,7,11,13float64out-of-placeAuto02024-09-26 20h50:08 +00h 24m 32s [ 175 tests] 0 0
gfx900pyopencl 12-1000002,3,5,7,11,13float64out-of-placeAuto02024-09-26 21h14:41 +00h 03m 53s [ 1847 tests] 0 0
gfx900pyopencl 22-4500 (N,N)2,3,5,7,11,13float64out-of-placeAuto02024-09-26 21h18:36 +00h 05m 21s [ 512 tests] 0
gfx900pyopencl 32-550 (N,N,N)2,3,5,7,11,13float64out-of-placeAuto02024-09-26 21h23:59 +00h 08m 05s [ 175 tests] 0 0
gfx900pyopencl 12-1000002,3,5,7,11,13float32inplaceAuto02024-09-26 21h32:05 +00h 02m 16s [ 1847 tests] 0 0
gfx900pyopencl 22-4500 (N,N)2,3,5,7,11,13float32inplaceAuto02024-09-26 21h34:23 +00h 02m 08s [ 512 tests] 0 0
gfx900pyopencl 32-550 (N,N,N)2,3,5,7,11,13float32inplaceAuto02024-09-26 21h36:33 +00h 05m 33s [ 175 tests] 0 0
gfx900pyopencl 12-1000002,3,5,7,11,13float32inplaceAuto02024-09-26 21h42:07 +00h 03m 23s [ 1847 tests] 0 0
gfx900pyopencl 22-4500 (N,N)2,3,5,7,11,13float32inplaceAuto02024-09-26 21h45:31 +00h 02m 02s [ 512 tests] 0 0
gfx900pyopencl 32-550 (N,N,N)2,3,5,7,11,13float32inplaceAuto02024-09-26 21h47:35 +00h 02m 16s [ 175 tests] 0 0
gfx900pyopencl 12-1000002,3,5,7,11,13float64inplaceAuto02024-09-26 21h49:53 +00h 03m 23s [ 1847 tests] 0 0
gfx900pyopencl 22-4500 (N,N)2,3,5,7,11,13float64inplaceAuto02024-09-26 21h53:17 +00h 02m 47s [ 512 tests] 0 0
gfx900pyopencl 32-550 (N,N,N)2,3,5,7,11,13float64inplaceAuto02024-09-26 21h56:06 +00h 11m 27s [ 168 tests] 0 0
gfx900pyopencl 12-1000002,3,5,7,11,13float64inplaceAuto02024-09-26 22h07:34 +00h 04m 15s [ 1847 tests] 0 0
gfx900pyopencl 22-4500 (N,N)2,3,5,7,11,13float64inplaceAuto02024-09-26 22h11:50 +00h 02m 04s [ 512 tests] 0 0
gfx900pyopencl 32-550 (N,N,N)2,3,5,7,11,13float64inplaceAuto02024-09-26 22h13:55 +00h 04m 10s [ 175 tests] 0 0
gfx900pyopencl 12-1000002,3,5,7,11,13float32out-of-placeTrue02024-09-26 22h18:07 +00h 03m 51s [ 1847 tests] 0 0
gfx900pyopencl 22-4500 (N,N)2,3,5,7,11,13float32out-of-placeTrue02024-09-26 22h21:59 +00h 04m 50s [ 512 tests] 0
gfx900pyopencl 32-550 (N,N,N)2,3,5,7,11,13float32out-of-placeTrue02024-09-26 22h26:51 +00h 11m 05s [ 175 tests] 0 0
gfx900pyopencl 12-1000002,3,5,7,11,13float32out-of-placeTrue02024-09-26 22h37:57 +00h 03m 49s [ 1847 tests] 0 0
gfx900pyopencl 22-4500 (N,N)2,3,5,7,11,13float32out-of-placeTrue02024-09-26 22h41:47 +00h 02m 01s [ 512 tests] 0 0
gfx900pyopencl 32-550 (N,N,N)2,3,5,7,11,13float32out-of-placeTrue02024-09-26 22h43:50 +00h 02m 59s [ 175 tests] 0 0
gfx900pyopencl 12-1000002,3,5,7,11,13float32inplaceTrue02024-09-26 22h46:50 +00h 03m 51s [ 1847 tests] 0 0
gfx900pyopencl 22-4500 (N,N)2,3,5,7,11,13float32inplaceTrue02024-09-26 22h50:42 +00h 06m 22s [ 512 tests] 0
gfx900pyopencl 32-550 (N,N,N)2,3,5,7,11,13float32inplaceTrue02024-09-26 22h57:06 +00h 05m 39s [ 175 tests] 0 0
gfx900pyopencl 12-1000002,3,5,7,11,13float32inplaceTrue02024-09-26 23h02:46 +00h 03m 50s [ 1847 tests] 0 0
gfx900pyopencl 22-4500 (N,N)2,3,5,7,11,13float32inplaceTrue02024-09-26 23h06:37 +00h 04m 16s [ 512 tests] 0
gfx900pyopencl 32-550 (N,N,N)2,3,5,7,11,13float32inplaceTrue02024-09-26 23h10:55 +00h 02m 23s [ 175 tests] 0 0
gfx900pyopencl 22-4500 [|Ni-N1|<={8; 4%N1}]2,3,5,7,11,13[^N,N<=3]float32out-of-placeAuto12024-09-26 23h13:19 +00h 11m 59s [ 2740 tests] 0 0
gfx900pyopencl 22-4500 [|Ni-N1|<={8; 4%N1}]2,3,5,7,11,13[^N,N<=3]float32out-of-placeTrue12024-09-26 23h25:19 +00h 13m 03s [ 2740 tests] 0 0
gfx900pyopencl 22-4500 [|Ni-N1|<={8; 4%N1}]2,3,5,7,11,13[^N,N<=3]float32inplaceAuto12024-09-26 23h38:24 +00h 11m 56s [ 2740 tests] 0 0
gfx900pyopencl 22-4500 [|Ni-N1|<={8; 4%N1}]2,3,5,7,11,13[^N,N<=3]float64out-of-placeAuto12024-09-26 23h50:21 +00h 20m 04s [ 2740 tests] 0
gfx900pyopencl 32-150 [|Ni-N1|<={8; 4%N1}]2,3,5,7,11,13[^N,N<=3]float32out-of-placeAuto12024-09-27 00h10:27 +00h 10m 02s [ 5848 tests] 0 0
gfx900pyopencl 32-150 [|Ni-N1|<={8; 4%N1}]2,3,5,7,11,13[^N,N<=3]float32out-of-placeTrue12024-09-27 00h20:30 +00h 16m 06s [ 5848 tests] 0 0
gfx900pyopencl 32-150 [|Ni-N1|<={8; 4%N1}]2,3,5,7,11,13[^N,N<=3]float32inplaceAuto12024-09-27 00h36:37 +00h 10m 03s [ 5848 tests] 0 0
gfx900pyopencl 32-150 [|Ni-N1|<={8; 4%N1}]2,3,5,7,11,13[^N,N<=3]float64out-of-placeAuto12024-09-27 00h46:41 +00h 11m 37s [ 5848 tests] 0 0
gfx900pyopencl 22-4500 [|Ni-N1|<={8; 4%N1}]2,3,5,7,11,13[^N,N<=3]float32out-of-placeAuto12024-09-27 00h58:19 +00h 10m 56s [ 2740 tests] 0 0
gfx900pyopencl 22-4500 [|Ni-N1|<={8; 4%N1}]2,3,5,7,11,13[^N,N<=3]float32out-of-placeTrue12024-09-27 01h09:17 +00h 13m 13s [ 2740 tests] 0 0
gfx900pyopencl 22-4500 [|Ni-N1|<={8; 4%N1}]2,3,5,7,11,13[^N,N<=3]float32inplaceAuto12024-09-27 01h22:31 +00h 11m 03s [ 2740 tests] 0 0
gfx900pyopencl 22-4500 [|Ni-N1|<={8; 4%N1}]2,3,5,7,11,13[^N,N<=3]float64out-of-placeAuto12024-09-27 01h33:35 +00h 16m 55s [ 2740 tests] 0
gfx900pyopencl 32-150 [|Ni-N1|<={8; 4%N1}]2,3,5,7,11,13[^N,N<=3]float32out-of-placeAuto12024-09-27 01h50:32 +00h 12m 53s [ 5848 tests] 0 0
gfx900pyopencl 32-150 [|Ni-N1|<={8; 4%N1}]2,3,5,7,11,13[^N,N<=3]float32out-of-placeTrue12024-09-27 02h03:26 +00h 19m 32s [ 5848 tests] 0 0
gfx900pyopencl 32-150 [|Ni-N1|<={8; 4%N1}]2,3,5,7,11,13[^N,N<=3]float32inplaceAuto12024-09-27 02h22:59 +00h 12m 58s [ 5848 tests] 0 0
gfx900pyopencl 32-150 [|Ni-N1|<={8; 4%N1}]2,3,5,7,11,13[^N,N<=3]float64out-of-placeAuto12024-09-27 02h35:59 +00h 15m 07s [ 5848 tests] 0 0
gfx900pyopencl 22-4500 (N,N)Bluesteinfloat32inplaceAuto12024-09-27 02h51:07 +05h 39m 28s [ 3987 tests] 0
gfx900pyopencl 32-550 (N,N,N)Bluesteinfloat32inplaceAuto12024-09-27 08h30:36 +00h 58m 45s [ 374 tests] 0 0