GridTools / gtbench

Other
3 stars 7 forks source link

build gtbench master with gridtools 2.0.0 for AMD GPU using rocm3.8.0 and got errors #61

Closed yaomingamd closed 4 years ago

yaomingamd commented 4 years ago

84%] Building CXX object CMakeFiles/benchmark.dir/benchmark.cpp.o In file included from /home/projects/GridTools/gtbench2/benchmark.cpp:16: In file included from /home/projects/GridTools/gtbench2/./runtime/run.hpp:14: /home/projects/GridTools/gtbench2/./runtime/./simple_mpi/run.hpp:49:26: error: no template named 'info' in namespace 'gridtools::storage' exchanger(gt::storage::info<3> const &sinfo) const;


1 error generated when compiling for gfx906
 Building CXX object CMakeFiles/convergence_tests.dir/convergence_tests.cpp.o
In file included from /home/projects/GridTools/gtbench2/convergence_tests.cpp:13:
In file included from /home/projects/GridTools/gtbench2/./runtime/run.hpp:14:
/home/projects/GridTools/gtbench2/./runtime/./simple_mpi/run.hpp:49:26: error: no template named 'info' in namespace 'gridtools::storage'
  exchanger(gt::storage::info<3> const &sinfo) const;
            ~~~~~~~~~~~~~^
1 error generated when compiling for gfx906.
yaomingamd commented 4 years ago

cmake errors: CMake Error at CMakeLists.txt:86 (add_executable): Target "benchmark" links to target "GridTools::storage_gpu" but the target was not found. Perhaps a find_package() call is missing for an IMPORTED target, or an ALIAS target is missing?

fthaler commented 4 years ago

Dear Yaoming, thanks for reporting the issues. They should be fixed in the master with PR #62 merged. The first issue was inside the GTBench code due to use of non-public API in GridTools that has slightly changed in the master since version 2.0.0. The second issue was inside the GridTools CMake and has been fixed in the GridTools master and release_v2.0 branch (there is no official bug fix release yet). GTBench now automatically fetches compatible GridTools and GHEX versions by default, so you don’t have to find them manually (but you can of course still manually download, install and use external GridTools and GHEX versions if required). Note that the GHEX master seems to be currently incompatible with GTBench as well as GridTools master, I will open a new issue and contact the GHEX authors about this.

yaomingamd commented 4 years ago

Yes, now I can build and run convergence_tests and benchmark successfully with gridtools master(2.1.0), but still has issues with gridtools ctest.

fthaler commented 4 years ago

That’s good news. So I’ll close this issue and we will investigate further on the GridTools problems in https://github.com/GridTools/gridtools/issues/1576