pyvkfft-test-suite
Run a complete test suite including the basic test, followed by systematic tests for C2C, R2C, DCT, 1D, 2D and 3D single and double precision, in and out-of-place, different normalisations, with or without LUT (single), radix and non-radix, plus a few asymmetric 2D and 3D tests.
Note that the full test suite typically takes 24 to 30 hours.
- To merge the html files at the end, use:
cat pyvkfft-test1*.html > pyvkfft-test.html
usage: pyvkfft-test-suite [-h] [--gpu GPU] [--nproc NPROC] [--gpumem GPUMEM]
--backend {pycuda,cupy,pyopencl}
[--opencl_platform OPENCL_PLATFORM]
[--transform {c2c,r2c,dct,dst} [{c2c,r2c,dct,dst} ...]]
[--radix] [--single] [--ndim {1,2,3} [{1,2,3} ...]]
[--fast-random FAST_RANDOM] [--dry-run] [--skip]
Named Arguments
- --gpu
Name (or sub-string) of the GPU to use. If not given, the first available will be used
- --nproc
Maximum number of parallel process to use to speed up tests. This number will be decreased for larger arrays (e.g. 3D), but it should be checked to avoid memory errors. A good valuefor 32 GB is 20 processes.
Default: 10
- --gpumem
Available GPU memory.
Default: 16
- --backend
Possible choices: pycuda, cupy, pyopencl
GPU backend
- --opencl_platform
Name (or sub-string) of the opencl platform to use (case-insensitive)
- --transform
Possible choices: c2c, r2c, dct, dst
Transforms to test (defaults to all)
Default: ['c2c', 'r2c', 'dct', 'dst']
- --radix
Use this option to only test radix transforms
Default: False
- --single
Use this option to only test single precision transforms
Default: False
- --ndim
Possible choices: 1, 2, 3
Number of dimensions for the tests. Several values can be given, e.g. 1 2 3
Default: [1, 2, 3]
- --fast-random
Use this option to run a random percentage of the systematic tests, for faster results. A number (percentage) between 5 and 100 is required.
- --dry-run
Perform a dry-run, printing the commands for each sub-test.
Default: False
- --skip
Use this option to skip tests which have already been performed (basedon parsing the html files in the current directory).
Default: False
- Examples:
pyvkfft-test-suite --gpumem 32 --backend pycuda --gpu V100
This will run the full test suite with a maximum of 20 parallel process (based on the available memory), using pycuda on a V100 GPU
pyvkfft-test-suite --gpumem 32 --backend pycuda --gpu V100 --transform c2c --ndim 1 2
This will run the test suite only for 1D and 2D C2C transforms