Skip to content

Commit

Permalink
Merge branch 'psteinb-travis_batch'
Browse files Browse the repository at this point in the history
  • Loading branch information
Matthias Werner authored and Matthias Werner committed Aug 31, 2018
2 parents eb5cb77 + 85f4280 commit fea3805
Show file tree
Hide file tree
Showing 5 changed files with 41 additions and 39 deletions.
64 changes: 32 additions & 32 deletions .travis.yml
Original file line number Diff line number Diff line change
Expand Up @@ -32,20 +32,20 @@ env:
- BOOST_VERSION=1.60.0
- CUDA_VERSION=8.0.61-1
- CUDA_VERSION_SHORT=8.0
- GEARSHIFFT_CLFFT_VERSION=v2.12.2
#- GEARSHIFFT_CLFFT_VERSION=v2.12.2
- CLANG_VERSION=3.8
- FFTW_CACHE_PATH=${TRAVIS_BUILD_DIR}/deps/fftw
- AMDAPPSDK_VERSION=291
#- AMDAPPSDK_VERSION=291
# - AMDAPPSDK_VERSION=300


cache:
directories:
- ${TRAVIS_BUILD_DIR}/deps/cuda-${CUDA_VERSION_SHORT}
- ${TRAVIS_BUILD_DIR}/deps/clfft-${GEARSHIFFT_CLFFT_VERSION}
#- ${TRAVIS_BUILD_DIR}/deps/clfft-${GEARSHIFFT_CLFFT_VERSION}
- ${TRAVIS_BUILD_DIR}/deps/boost-${BOOST_VERSION}
- ${TRAVIS_BUILD_DIR}/sources/
- ${AMDAPPSDKROOT}
#- ${AMDAPPSDKROOT}
- ${FFTW_CACHE_PATH}

addons:
Expand Down Expand Up @@ -91,19 +91,19 @@ before_install:
travis_retry sudo apt-get update -qq
CUDA_APT=${CUDA_VERSION_SHORT/./-}
travis_retry sudo apt-get install -qy cuda-core-${CUDA_APT} cuda-cudart-dev-${CUDA_APT} cuda-cufft-${CUDA_APT} cuda-cufft-dev-${CUDA_APT}
- bash .travis/install_amd_sdk.sh ${AMDAPPSDK_VERSION}
- |
if [[ ${AMDAPPSDK_VERSION} == "300" ]]; then
export LD_LIBRARY_PATH=${AMDAPPSDKROOT}/lib/x86_64/sdk:${LD_LIBRARY_PATH}
export CMAKE_LIBRARY_PATH=${AMDAPPSDKROOT}/lib/x86_64/sdk:${CMAKE_LIBRARY_PATH}
else # 291
export LD_LIBRARY_PATH=${AMDAPPSDKROOT}/lib/x86_64:${LD_LIBRARY_PATH}
export CMAKE_LIBRARY_PATH=${AMDAPPSDKROOT}/lib/x86_64:${CMAKE_LIBRARY_PATH}
fi
export OPENCL_VENDOR_PATH=${AMDAPPSDKROOT}/etc/OpenCL/vendors
mkdir -p ${OPENCL_VENDOR_PATH};
echo libamdocl64.so > ${OPENCL_VENDOR_PATH}/amdocl64.icd;
- ${AMDAPPSDKROOT}/bin/x86_64/clinfo
# - bash .travis/install_amd_sdk.sh ${AMDAPPSDK_VERSION}
# - |
# if [[ ${AMDAPPSDK_VERSION} == "300" ]]; then
# export LD_LIBRARY_PATH=${AMDAPPSDKROOT}/lib/x86_64/sdk:${LD_LIBRARY_PATH}
# export CMAKE_LIBRARY_PATH=${AMDAPPSDKROOT}/lib/x86_64/sdk:${CMAKE_LIBRARY_PATH}
# else # 291
# export LD_LIBRARY_PATH=${AMDAPPSDKROOT}/lib/x86_64:${LD_LIBRARY_PATH}
# export CMAKE_LIBRARY_PATH=${AMDAPPSDKROOT}/lib/x86_64:${CMAKE_LIBRARY_PATH}
# fi
# export OPENCL_VENDOR_PATH=${AMDAPPSDKROOT}/etc/OpenCL/vendors
# mkdir -p ${OPENCL_VENDOR_PATH};
# echo libamdocl64.so > ${OPENCL_VENDOR_PATH}/amdocl64.icd;
# - ${AMDAPPSDKROOT}/bin/x86_64/clinfo

install:
- if [ "${CXX}" == "g++" ]; then export CXX=g++-5; export CC=${CXX/g++/gcc}; export GCOV=${CXX/g++/gcov}; fi
Expand All @@ -129,18 +129,18 @@ install:
export PATH=${CUDA_ROOT}/bin:${PATH}
# clfft
- |
export CLFFT_ROOT=${TRAVIS_BUILD_DIR}/deps/clfft-${GEARSHIFFT_CLFFT_VERSION}
export CMAKE_PREFIX_PATH=${CLFFT_ROOT}:${CMAKE_PREFIX_PATH}
CLFFT_SRC=${TRAVIS_BUILD_DIR}/sources/clfft-${GEARSHIFFT_CLFFT_VERSION}
# - |
# export CLFFT_ROOT=${TRAVIS_BUILD_DIR}/deps/clfft-${GEARSHIFFT_CLFFT_VERSION}
# export CMAKE_PREFIX_PATH=${CLFFT_ROOT}:${CMAKE_PREFIX_PATH}
# CLFFT_SRC=${TRAVIS_BUILD_DIR}/sources/clfft-${GEARSHIFFT_CLFFT_VERSION}

if [[ -z "$(ls -A ${CLFFT_ROOT})" ]]; then
travis_retry git clone https://github.com/clMathLibraries/clFFT.git ${CLFFT_SRC}
(cd ${CLFFT_SRC}; git checkout ${GEARSHIFFT_CLFFT_VERSION})
(cd ${CLFFT_SRC}/src; cmake -DBUILD64=ON -DBUILD_CALLBACK_CLIENT=OFF -DBUILD_CLIENT=OFF -DBUILD_EXAMPLES=OFF -DBUILD_LOADLIBRARIES=ON -DBUILD_RUNTIME=ON -DBUILD_SHARED_LIBS=ON -DBUILD_TEST=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${CLFFT_ROOT} -DSUFFIX_LIB=64 && make && make install)
else
echo "Using cached clfft version at $CLFFT_ROOT"
fi
# if [[ -z "$(ls -A ${CLFFT_ROOT})" ]]; then
# travis_retry git clone https://github.com/clMathLibraries/clFFT.git ${CLFFT_SRC}
# (cd ${CLFFT_SRC}; git checkout ${GEARSHIFFT_CLFFT_VERSION})
# (cd ${CLFFT_SRC}/src; cmake -DBUILD64=ON -DBUILD_CALLBACK_CLIENT=OFF -DBUILD_CLIENT=OFF -DBUILD_EXAMPLES=OFF -DBUILD_LOADLIBRARIES=ON -DBUILD_RUNTIME=ON -DBUILD_SHARED_LIBS=ON -DBUILD_TEST=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=${CLFFT_ROOT} -DSUFFIX_LIB=64 && make && make install)
# else
# echo "Using cached clfft version at $CLFFT_ROOT"
# fi
# Versions
- $CXX --version
- nvcc --version
Expand All @@ -151,10 +151,10 @@ script:
- set -e
- cmake ../ -DCMAKE_BUILD_TYPE=${GEARSHIFFT_BUILD_TYPE} -DCMAKE_VERBOSE_MAKEFILE=ON
- make
- |
echo "clFFT"
./gearshifft_clfft -l
./gearshifft_clfft -e 32
# - |
# echo "clFFT"
# ./gearshifft_clfft -l
# ./gearshifft_clfft -e 32
- |
echo "FFTW"
./gearshifft_fftw -l
Expand Down
2 changes: 1 addition & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,6 @@
# ![gearshifft](images/gearshifft_logo_img_100.png)

## Benchmark Suite for Heterogeneous Implementations of FFTs [![DOI](https://zenodo.org/badge/60610005.svg)](https://zenodo.org/badge/latestdoi/60610005)
## Benchmark Suite for Heterogeneous Implementations of FFTs [![DOI](https://zenodo.org/badge/60610005.svg)](https://zenodo.org/badge/latestdoi/60610005) [![Build Status](https://travis-ci.org/mpicbg-scicomp/gearshifft.svg?branch=master)](https://travis-ci.org/mpicbg-scicomp/gearshifft)

This is a simple and easy extensible benchmark system to answer the question, which FFT library performs best under which conditions.
Conditions are given by compute architecture, inplace or outplace as well as real or complex transforms, data precision, and so on.
Expand Down
8 changes: 4 additions & 4 deletions inc/libraries/fftw/fftw.hpp
Original file line number Diff line number Diff line change
Expand Up @@ -373,7 +373,7 @@ namespace fftw {
static std::string get_device_list() {
std::ostringstream msg;

#if GEARSHIFFT_FFTW_THREADS==1
#if defined(GEARSHIFFT_FFTW_USE_THREADS) && GEARSHIFFT_FFTW_USE_THREADS==1
int av_procs = std::thread::hardware_concurrency();
msg << av_procs << " CPU Threads supported.\n";
#else
Expand All @@ -385,7 +385,7 @@ namespace fftw {

std::string get_used_device_properties() {

#if GEARSHIFFT_FFTW_THREADS==1
#if defined(GEARSHIFFT_FFTW_USE_THREADS) && GEARSHIFFT_FFTW_USE_THREADS==1
// Returns the number of supported concurrent threads of implementation
size_t maxndevs = std::thread::hardware_concurrency();
size_t ndevs = options().getNumberDevices();
Expand Down Expand Up @@ -535,7 +535,7 @@ namespace fftw {
throw std::runtime_error("FFT data exceeds physical memory. "+ss.str());
}

#if GEARSHIFFT_FFTW_USE_THREADS==1
#if defined(GEARSHIFFT_FFTW_USE_THREADS) && GEARSHIFFT_FFTW_USE_THREADS==1
if( traits::thread_api<TPrecision>::init_threads()==0 )
throw std::runtime_error("fftw thread initialization failed.");

Expand All @@ -550,7 +550,7 @@ namespace fftw {
~FftwImpl(){

destroy();
#if GEARSHIFFT_FFTW_USE_THREADS==1
#if defined(GEARSHIFFT_FFTW_USE_THREADS) && GEARSHIFFT_FFTW_USE_THREADS==1
traits::thread_api<TPrecision>::cleanup_threads();
#else
traits::no_thread_api<TPrecision>::cleanup();
Expand Down
4 changes: 3 additions & 1 deletion test/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -31,6 +31,8 @@ if(FFTW_FOUND)
add_executable(${TEST_EXEC} test_fftw.cpp)
set(LIBS ${FFTW_LIBRARIES})
target_link_libraries(${TEST_EXEC} ${LIBS} ${Boost_LIBRARIES})
target_compile_definitions(${TEST_EXEC} PUBLIC -DBOOST_TEST_DYN_LINK -DGEARSHIFFT_FFTW_THREADS=${GEARSHIFFT_FFTW_THREADS})
target_compile_definitions(${TEST_EXEC} PUBLIC -DBOOST_TEST_DYN_LINK)
target_compile_definitions(${TEST_EXEC} PUBLIC -DGEARSHIFFT_FFTW_USE_THREADS=${GEARSHIFFT_FFTW_USE_THREADS})

add_test(NAME ${TEST_EXEC} COMMAND ${TEST_EXEC})
endif()
2 changes: 1 addition & 1 deletion test/test_fftw.cpp
Original file line number Diff line number Diff line change
Expand Up @@ -65,7 +65,7 @@ BOOST_AUTO_TEST_CASE( FFT1D, * boost::unit_test::tolerance(0.0001) )
fftw_cleanup();
}

#if GEARSHIFFT_FFTW_THREADS==1
#if defined(GEARSHIFFT_FFTW_USE_THREADS) && GEARSHIFFT_FFTW_USE_THREADS==1
BOOST_AUTO_TEST_CASE( FFT1D2Threads, * boost::unit_test::tolerance(0.0001) )
{
static const int N = 32;
Expand Down

0 comments on commit fea3805

Please sign in to comment.