mpicbg-scicomp / gearshifft

Benchmark Suite for Heterogenuous FFT Implementations
Apache License 2.0
34 stars 9 forks source link

MSVC and MacOSX fixes #137

Closed emmenlau closed 5 years ago

emmenlau commented 5 years ago

This PR supersedes #136. It includes changes required to get a working build of gearshifft on MSVC and MacOSX with FFTW, Intel MKL (FFTWWrappers) and Cuda (tested only on MSVC and Linux). I did not test other backends (like openCL), so please treat this PR as just a partial support for MSVC and MacOSX. More importantly, I did not test Cuda on MSVC yet, so I can only confirm that it builds! There may be still more hurdles along the way to get it to work successfully.

So for me, with this PR I can build:

This PR also includes a change for Boost to support non-standard library names. Boost supports a multitude of library names, but defaults to one specific scheme. Boost headers contain pragmas that instruct the compiler to link with this specific naming scheme. This breaks builds where Boost uses i.e. the "system" naming scheme.

None of the changes should have a negative effect on other platforms, or at least I could not see problems on Ubuntu 16.04 and 18.04 x86_64. Sorry for the long lines in inc/core/benchmark_data.hpp, the code should be reformatted.

Please review :-)

tdd11235813 commented 5 years ago

yes, awesome, thanks so much! Looks all good, want to test it so badly now, but have to do it later :/ When you have time please run the cufft benchmarks on Windows (which GPU do you have?). Would love to compare.

emmenlau commented 5 years ago

First test looks good, so please go ahead with merging if there are no other concerns!

The executable gearshifft_cufft works and dumps some results. I'm currently testing a modern desktop computer with Windows 8.1, recent Intel Core i7 and NVidia GTX 1080 GPU. I've only executed the Cuda benchmark so far, and only a small subset of the benchmarks as a proof of concept. Find the results in attached archive: artifacts.zip