codecircuit/thrustshift

Compiling issues when using Tridigpu

dfvankomen opened this issue · 0 comments

I'm attempting to get tridigpu to build, but I'm also having issues compiling with

I have thrustshift pinned at this commit, which is before the removal of the cuda-api-wrappers dependency. It seems the public version of tridigpu is reliant on the version of the thrustshift API before this removal, according to an install script I found (linked below).

Anyway, the dependencies all build, but thrustshift fails to build its tests. Here are some of the errors I've gotten:

test-for-each.cu: It is full of overloaded function errors including:

  • get
  • forward
    that would be defined in for-each.h complaining that they don't exist for the templated type.

I have also found issues with test-multi-iterator.cu file. It errors out saying no instance of constructor "thrustshift::arithmetic_tuple<T, N>::arithmetic_tuple [with T=double, N=3UL]" matches the argument list.


Compiling information:

  • Using GCC 13.2.1
  • NVIDIA NVCC compiler 12.4.131

I'm compiling it using the repository I found for tridigpu installation: https://mp-force.ziti.uni-heidelberg.de/fvanmaele/tridigpu-installer/-/tree/master?ref_type=heads (this includes all dependencies are pinned to the same commits). I recognize that that script was designed for a development version of tridigpu and thrustshift, but I figured it would be a good starting point since tridigpu did not mention any versions for building and some dependencies had completely changed their APIs since publishing so I couldn't get it to build by installing each independently either.

I've also added a few commits as patches to avoid needing a few extra dependencies (i.e. the removal of sysmakeshift and just removing CUB as a dependency in the CMakeLists file, as the installer above does).

I have enabled compiling the tests and apps so I can make sure it builds.