pyVkFFT test results

pyvkfft: 2023.2.post1, VkFFFT:1.3.3 CUDA: driver 12.0.0, runtime 11.7.0, compiled 11.7.0 host : gpu4-01

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
a40pyopencl Regular multi-dimensional C2C/R2C/R2R test2023-11-28 18h07:56 +00h 25m 22s 0 0
a40pyopencl 12-1000002,3,5,7,11,13float32out-of-placeAuto12023-11-28 18h33:20 +00h 01m 44s [ 1847 tests] 0 0
a40pyopencl 22-4500 (N,N)2,3,5,7,11,13float32out-of-placeAuto12023-11-28 18h35:04 +00h 00m 54s [ 512 tests] 0 0
a40pyopencl 32-550 (N,N,N)2,3,5,7,11,13float32out-of-placeAuto12023-11-28 18h35:59 +00h 01m 11s [ 175 tests] 0 0
a40pyopencl 12-1000002,3,5,7,11,13float32out-of-placeAuto12023-11-28 18h37:12 +00h 02m 06s [ 1847 tests] 0 0
a40pyopencl 22-4500 (N,N)2,3,5,7,11,13float32out-of-placeAuto12023-11-28 18h39:19 +00h 00m 50s [ 512 tests] 0 0
a40pyopencl 32-550 (N,N,N)2,3,5,7,11,13float32out-of-placeAuto12023-11-28 18h40:09 +00h 00m 37s [ 175 tests] 0 0
a40pyopencl 12-1000002,3,5,7,11,13float32out-of-placeAuto12023-11-28 18h40:47 +00h 02m 42s [ 1847 tests] 0 0
a40pyopencl 22-4500 (N,N)2,3,5,7,11,13float32out-of-placeAuto12023-11-28 18h43:30 +00h 01m 13s [ 512 tests] 0
a40pyopencl 32-550 (N,N,N)2,3,5,7,11,13float32out-of-placeAuto12023-11-28 18h44:45 +00h 01m 08s [ 175 tests] 0
a40pyopencl 12-1000002,3,5,7,11,13float32out-of-placeAuto12023-11-28 18h45:54 +00h 01m 26s [ 1847 tests] 0
a40pyopencl 22-4500 (N,N)2,3,5,7,11,13float32out-of-placeAuto12023-11-28 18h47:21 +00h 00m 45s [ 512 tests] 0
a40pyopencl 32-550 (N,N,N)2,3,5,7,11,13float32out-of-placeAuto12023-11-28 18h48:07 +00h 00m 37s [ 175 tests] 0 0
a40pyopencl 12-1000002,3,5,7,11,13float32out-of-placeAuto12023-11-28 18h48:44 +00h 01m 36s [ 1847 tests] 0
a40pyopencl 22-4500 (N,N)2,3,5,7,11,13float32out-of-placeAuto12023-11-28 18h50:22 +00h 00m 54s [ 512 tests] 0
a40pyopencl 32-550 (N,N,N)2,3,5,7,11,13float32out-of-placeAuto12023-11-28 18h51:16 +00h 00m 42s [ 175 tests] 0 0
a40pyopencl 13-1000002,3,5,7,11,13float32out-of-placeAuto12023-11-28 18h52:00 +00h 01m 39s [ 1846 tests] 0
a40pyopencl 23-4500 (N,N)2,3,5,7,11,13float32out-of-placeAuto12023-11-28 18h53:40 +00h 00m 59s [ 511 tests] 0
a40pyopencl 33-550 (N,N,N)2,3,5,7,11,13float32out-of-placeAuto12023-11-28 18h54:40 +00h 00m 45s [ 174 tests] 0 0
a40pyopencl 12-1000002,3,5,7,11,13float32out-of-placeAuto12023-11-28 18h55:26 +00h 02m 07s [ 1847 tests] 0
a40pyopencl 22-4500 (N,N)2,3,5,7,11,13float32out-of-placeAuto12023-11-28 18h57:34 +00h 01m 11s [ 512 tests] 0
a40pyopencl 32-550 (N,N,N)2,3,5,7,11,13float32out-of-placeAuto12023-11-28 18h58:47 +00h 01m 07s [ 175 tests] 0 0
a40pyopencl 12-1000002,3,5,7,11,13float32out-of-placeAuto12023-11-28 18h59:55 +00h 01m 27s [ 1847 tests] 0
a40pyopencl 22-4500 (N,N)2,3,5,7,11,13float32out-of-placeAuto12023-11-28 19h01:23 +00h 00m 46s [ 512 tests] 0
a40pyopencl 32-550 (N,N,N)2,3,5,7,11,13float32out-of-placeAuto12023-11-28 19h02:10 +00h 00m 37s [ 175 tests] 0 0
a40pyopencl 12-1000002,3,5,7,11,13float32out-of-placeAuto12023-11-28 19h02:48 +00h 01m 30s [ 1847 tests] 0
a40pyopencl 22-4500 (N,N)2,3,5,7,11,13float32out-of-placeAuto12023-11-28 19h04:19 +00h 00m 45s [ 512 tests] 0
a40pyopencl 32-550 (N,N,N)2,3,5,7,11,13float32out-of-placeAuto12023-11-28 19h05:05 +00h 00m 39s [ 175 tests] 0 0
a40pyopencl 13-1000002,3,5,7,11,13float32out-of-placeAuto12023-11-28 19h05:45 +00h 01m 31s [ 1846 tests] 0
a40pyopencl 23-4500 (N,N)2,3,5,7,11,13float32out-of-placeAuto12023-11-28 19h07:17 +00h 00m 55s [ 511 tests] 0
a40pyopencl 33-550 (N,N,N)2,3,5,7,11,13float32out-of-placeAuto12023-11-28 19h08:13 +00h 00m 41s [ 174 tests] 0 0
a40pyopencl 12-1000002,3,5,7,11,13float64out-of-placeAuto12023-11-28 19h08:55 +00h 01m 47s [ 1847 tests] 0 0
a40pyopencl 22-4500 (N,N)2,3,5,7,11,13float64out-of-placeAuto12023-11-28 19h10:44 +00h 01m 08s [ 512 tests] 0 0
a40pyopencl 32-550 (N,N,N)2,3,5,7,11,13float64out-of-placeAuto12023-11-28 19h11:52 +00h 03m 39s [ 175 tests] 0 0
a40pyopencl 12-1000002,3,5,7,11,13float64out-of-placeAuto12023-11-28 19h15:32 +00h 02m 29s [ 1847 tests] 0 0
a40pyopencl 22-4500 (N,N)2,3,5,7,11,13float64out-of-placeAuto12023-11-28 19h18:02 +00h 00m 55s [ 512 tests] 0 0
a40pyopencl 32-550 (N,N,N)2,3,5,7,11,13float64out-of-placeAuto12023-11-28 19h18:58 +00h 01m 06s [ 175 tests] 0 0
a40pyopencl 12-1000002,3,5,7,11,13float64out-of-placeAuto12023-11-28 19h20:06 +00h 02m 51s [ 1847 tests] 0 0
a40pyopencl 22-4500 (N,N)2,3,5,7,11,13float64out-of-placeAuto12023-11-28 19h22:58 +00h 01m 24s [ 512 tests] 0 0
a40pyopencl 32-550 (N,N,N)2,3,5,7,11,13float64out-of-placeAuto12023-11-28 19h24:23 +00h 01m 54s [ 175 tests] 0
a40pyopencl 12-1000002,3,5,7,11,13float64out-of-placeAuto12023-11-28 19h26:18 +00h 01m 38s [ 1847 tests] 0
a40pyopencl 22-4500 (N,N)2,3,5,7,11,13float64out-of-placeAuto12023-11-28 19h27:56 +00h 00m 47s [ 512 tests] 0
a40pyopencl 32-550 (N,N,N)2,3,5,7,11,13float64out-of-placeAuto12023-11-28 19h28:44 +00h 00m 57s [ 175 tests] 0 0
a40pyopencl 12-1000002,3,5,7,11,13float64out-of-placeAuto12023-11-28 19h29:42 +00h 01m 34s [ 1847 tests] 0
a40pyopencl 22-4500 (N,N)2,3,5,7,11,13float64out-of-placeAuto12023-11-28 19h31:17 +00h 00m 48s [ 512 tests] 0
a40pyopencl 32-550 (N,N,N)2,3,5,7,11,13float64out-of-placeAuto12023-11-28 19h32:06 +00h 00m 57s [ 175 tests] 0 0
a40pyopencl 13-1000002,3,5,7,11,13float64out-of-placeAuto12023-11-28 19h33:04 +00h 01m 26s [ 1846 tests] 0
a40pyopencl 23-4500 (N,N)2,3,5,7,11,13float64out-of-placeAuto12023-11-28 19h34:31 +00h 00m 57s [ 511 tests] 0
a40pyopencl 33-550 (N,N,N)2,3,5,7,11,13float64out-of-placeAuto12023-11-28 19h35:29 +00h 01m 04s [ 174 tests] 0 0
a40pyopencl 12-1000002,3,5,7,11,13float64out-of-placeAuto12023-11-28 19h36:35 +00h 02m 12s [ 1847 tests] 0
a40pyopencl 22-4500 (N,N)2,3,5,7,11,13float64out-of-placeAuto12023-11-28 19h38:48 +00h 01m 21s [ 512 tests]
a40pyopencl 32-550 (N,N,N)2,3,5,7,11,13float64out-of-placeAuto12023-11-28 19h40:10 +00h 02m 03s [ 175 tests] 0
a40pyopencl 12-1000002,3,5,7,11,13float64out-of-placeAuto12023-11-28 19h42:14 +00h 01m 38s [ 1847 tests] 0
a40pyopencl 22-4500 (N,N)2,3,5,7,11,13float64out-of-placeAuto12023-11-28 19h43:54 +00h 00m 48s [ 512 tests] 0
a40pyopencl 32-550 (N,N,N)2,3,5,7,11,13float64out-of-placeAuto12023-11-28 19h44:43 +00h 00m 59s [ 175 tests] 0 0
a40pyopencl 12-1000002,3,5,7,11,13float64out-of-placeAuto12023-11-28 19h45:43 +00h 01m 34s [ 1847 tests] 0