-
Notifications
You must be signed in to change notification settings - Fork 86
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.
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 value of(time, gflops, roofline). 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 python-docx --user
python3 -m pip install matplotlib
python3 -m pip install PyLaTeX
python3 -m pip install scipy
python3 -m pip install sympy
python3 -m pip install pandas
python3 -m pip install dataclasses
python3 -m pip install plotly==5.1.0
(plotly 5.1.0 is the minimal required version)
-
to generate html report with existing data:
html_report.py first_dir second_dir output_dir
Examples:
- Test 2 builds of rocFFT with rocfft-rider: ./alltime.py -i ../build0/clients/staging/rocfft-rider -i ../build1/clients/staging/rocfft-rider -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/dyna-rocfft-rider -i ../build0/library/src/librocfft.so -i ../build1/library/src/librocfft.so -o ../working_dir/old -o ../working_dir/new/ -l old -l new -w ../working_dir/report -d 1