Skip to content

Clients

Fei Zheng edited this page Jun 2, 2020 · 25 revisions

1. Accuracy Tests

Source: https://github.com/ROCmSoftwarePlatform/rocFFT/tree/develop/clients/tests

CMake build option: BUILD_CLIENTS_TESTS

Check running options: ./rocfft-test -h

rocfft-test is the functional coverage tests for rocFFT. As default, it go through all enabled tests. One also could run rocfft-test manually with the options similar to rocfft-rider to verify specific case.

2. Performance Tests

2.1 rocfft-rider

Source: https://github.com/ROCmSoftwarePlatform/rocFFT/blob/develop/clients/rider/rider.cpp

CMake build option: BUILD_CLIENTS_RIDER

Check running options: ./rocfft-rider -h

rofft-rider benchmarks on a single FFT problem with various configurations.

2.2 dyna-rocfft-rider

Source: https://github.com/ROCmSoftwarePlatform/rocFFT/blob/develop/clients/rider/dyna-rider.cpp

CMake build option: BUILD_CLIENTS_RIDER

Check running options: ./dyna-rocfft-rider -h

dyna-rocfft-rider benchmarks on a single FFT problem as well. It provides advanced option to test one problem within single test binary but dynamic loading rocFFT libraries from different builds. The rocFFT library to be tested with dyna-rocfft-rider need to be built with CMake option "-DSINGLELIB=ON".

2.3 perf test script

Source: https://github.com/ROCmSoftwarePlatform/rocFFT/tree/develop/scripts/perf

Check running options: ./alltime.py -h

alltime.py is the tool to benchmark, plot, and generate performance report of rocFFT with a group of test suites. For each suite, It outputs median(time, gflops, roofline) and its detailed scatter(time) diagram. It is based on rocfft-rider or dyna-rocfft-rider. The interactive mode allows user doing EXECUTE/PLOT/DOCUMENT separately.

Dependency: It requires python3, numpy, tex, asymptote. The setup could be:

Examples:

  • Test 2 builds of rocFFT with rocfft-rider: ./alltime.py -i ../build0/clients/staging/ -i ../build1/clients/staging/ -o ../working_dir/old -o ../working_dir/new/ -l old -l new -w ../working_dir/report -d 1
  • Test 2 builds of rocFFT with dyna-rocfft-rider: ./alltime.py -b ../rocFFT/build/clients/staging/ -i ../build0/library/src/ -i ../build1/library/src/ -o ../working_dir/old -o ../working_dir/new/ -l old -l new -w ../working_dir/report -d 1

3. Self Tests

Clone this wiki locally