ohmmscore libraryohmmscore is a class library and consists of the base components commonly used by ohmms and other applications. It is used to write test codes to evaluate C++ compilers and HPC libraries. The performance data generated by ohmmscore benchmark suite are available at publications. The benchmark directory contains source codes to measure abstraction penalty for simple blas 1 level operations. The bin/ohmmspete uses benchmark/vector.cpp with PETE/OhmmsPETE classes. The performance of other C++ class libraries which implement expression template techniques can be also measured by compiling benchmark/blitz.cpp and benchmark/ublasvector.cpp, which requires installing blitz and boost libraries. blitz needs to be configured with the same C++ compiler, while nothing needs to be done for boost. However, skipping the proper installation step of boost library may result in its poor performance. Customizing cmake-related files for the local environments are very easy. Simply add the directory where you have installed blitz (boost/ublas) to the directory list in FIND_PATH of CMake/FindBlitz++.cmake (CMake/FindBoost.cmake). The current list to search blitz library is
If you would like to share the timing data with the developers, send the output (tbody element of docbook) to <ohmms-dev@mcc.uiuc.edu> with the header "Abstraction Penalty" and the information on the hardware, OS and compilation options. Require cmake to compile the libraries and benchmark codes.
|
|
|
|