-
Notifications
You must be signed in to change notification settings - Fork 85
Clients
rocfft-test is the functional coverage test of rocFFT. As default, it goes through all enabled tests. One also could run rocfft-test manually with the options similar to rocfft-rider to verify specific case.
Source: https://github.com/ROCmSoftwarePlatform/rocFFT/tree/develop/clients/tests
CMake build option: BUILD_CLIENTS_TESTS
Check running options: ./rocfft-test -h
rofft-rider benchmarks on a single FFT problem with various configurations.
Source: https://github.com/ROCmSoftwarePlatform/rocFFT/blob/develop/clients/rider/rider.cpp
CMake build option: BUILD_CLIENTS_RIDER
Check running options: ./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. And the execution of runs are randomized.
The rocFFT library to be tested with dyna-rocfft-rider need to be built with CMake option "-DSINGLELIB=ON".
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
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.
Source: https://github.com/ROCmSoftwarePlatform/rocFFT/tree/develop/scripts/perf
Check running options: ./alltime.py -h
Dependency: It requires python3, numpy, tex, asymptote. The setup could be:
-
numpy:
sudo apt-get install python3-numpy
-
tex:
wget http://mirror.ctan.org/systems/texlive/tlnet/install-tl-unx.tar.gz
tar -xvf install-tl-unx.tar.gz
cd install-tl-xxxxxxxx
./install-tl
export PATH=${HOME}/tex/bin/x86_64-linux:${PATH}
-
asymptote
sudo apt-get install texinfo
wget https://cfhcable.dl.sourceforge.net/project/asymptote/2.61/asymptote-2.61.src.tgz
tar -xvf asymptote-2.61.src.tgz
cd asymptote-2.61
./configure --prefix=${HOME}/asy && make && make install
export PATH=${HOME}/asy/bin:${PATH}
-
other plot/doc tools might be required
pip install matplotlib
pip install PyLaTeX
pip install python-docx --user
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