[Trilinos-Users] Unable to Build Trilinos with CUDA 4.0 [Kokkos Error]

Gennadiy Rishkin gennadiy.rishkin at gmail.com
Tue Mar 22 14:27:49 MDT 2011


Hi Chris,

Thanks for the patch. I've applied it but now I get:

Linking CXX executable Tpetra_GEMMTiming_Thrust.exe
CMakeFiles/Tpetra_GEMMTiming_Thrust.dir/GEMMTiming_Thrust.cpp.o: In function
`void GEMMTiming<Kokkos::ThrustGPUNode>(int, int,
Teuchos::RCP<Teuchos::Comm<int> const> const&,
Teuchos::RCP<Kokkos::ThrustGPUNode> const&)':
GEMMTiming_Thrust.cpp:(.text._Z10GEMMTimingIN6Kokkos13ThrustGPUNodeEEviiRKN7Teuchos3RCPIKNS2_4CommIiEEEERKNS3_IT_EE[void
GEMMTiming<Kokkos::ThrustGPUNode>(int, int, Teuchos::RCP<Teuchos::Comm<int>
const> const&, Teuchos::RCP<Kokkos::ThrustGPUNode> const&)]+0x12e):
undefined reference to `Teuchos::RCP<Tpetra::MultiVector<double, int, int,
Kokkos::ThrustGPUNode> > Tpetra::createMultiVector<double, int, int,
Kokkos::ThrustGPUNode>(Teuchos::RCP<Tpetra::Map<int, int,
Kokkos::ThrustGPUNode> const> const&, unsigned long)'
GEMMTiming_Thrust.cpp:(.text._Z10GEMMTimingIN6Kokkos13ThrustGPUNodeEEviiRKN7Teuchos3RCPIKNS2_4CommIiEEEERKNS3_IT_EE[void
GEMMTiming<Kokkos::ThrustGPUNode>(int, int, Teuchos::RCP<Teuchos::Comm<int>
const> const&, Teuchos::RCP<Kokkos::ThrustGPUNode> const&)]+0x144):
undefined reference to `Teuchos::RCP<Tpetra::MultiVector<double, int, int,
Kokkos::ThrustGPUNode> > Tpetra::createMultiVector<double, int, int,
Kokkos::ThrustGPUNode>(Teuchos::RCP<Tpetra::Map<int, int,
Kokkos::ThrustGPUNode> const> const&, unsigned long)'
GEMMTiming_Thrust.cpp:(.text._Z10GEMMTimingIN6Kokkos13ThrustGPUNodeEEviiRKN7Teuchos3RCPIKNS2_4CommIiEEEERKNS3_IT_EE[void
GEMMTiming<Kokkos::ThrustGPUNode>(int, int, Teuchos::RCP<Teuchos::Comm<int>
const> const&, Teuchos::RCP<Kokkos::ThrustGPUNode> const&)]+0x173):
undefined reference to `[ 66%] Teuchos::RCP<Tpetra::MultiVector<double, int,
int, Kokkos::ThrustGPUNode> > Tpetra::createMultiVector<double, int, int,
Kokkos::ThrustGPUNode>(Teuchos::RCP<Tpetra::Map<int, int,
Kokkos::ThrustGPUNode> const> const&, unsigned long)'
GEMMTiming_Thrust.cpp:(.text._Z10GEMMTimingIN6Kokkos13ThrustGPUNodeEEviiRKN7Teuchos3RCPIKNS2_4CommIiEEEERKNS3_IT_EE[void
GEMMTiming<Kokkos::ThrustGPUNode>(int, int, Teuchos::RCP<Teuchos::Comm<int>
const> const&, Teuchos::RCP<Kokkos::ThrustGPUNode> const&)]+0x194):
undefined reference to `Tpetra::MultiVector<double, int, int,
Kokkos::ThrustGPUNode>::putScalar(double const&)'
GEMMTiming_Thrust.cpp:(.text._Z10GEMMTimingIN6Kokkos13ThrustGPUNodeEEviiRKN7Teuchos3RCPIKNS2_4CommIiEEEERKNS3_IT_EE[void
GEMMTiming<Kokkos::ThrustGPUNode>(int, int, Teuchos::RCP<Teuchos::Comm<int>
const> const&, Teuchos::RCP<Kokkos::ThrustGPUNode> const&)]+0x1b5):
undefined reference to `Tpetra::MultiVector<double, int, int,
Kokkos::ThrustGPUNode>::putScalar(double const&)'
GEMMTiming_Thrust.cpp:(.text._Z10GEMMTimingIN6Kokkos13ThrustGPUNodeEEviiRKN7Teuchos3RCPIKNS2_4CommIiEEEERKNS3_IT_EE[void
GEMMTiming<Kokkos::ThrustGPUNode>(int, int, Teuchos::RCP<Teuchos::Comm<int>
const> const&, Teuchos::RCP<Kokkos::ThrustGPUNode> const&)]+0x1d6):
undefined reference to `Tpetra::MultiVector<double, int, int,
Kokkos::ThrustGPUNode>::putScalar(double const&)'
GEMMTiming_Thrust.cpp:(.text._Z10GEMMTimingIN6Kokkos13ThrustGPUNodeEEviiRKN7Teuchos3RCPIKNS2_4CommIiEEEERKNS3_IT_EE[void
GEMMTiming<Kokkos::ThrustGPUNode>(int, int, Teuchos::RCP<Teuchos::Comm<int>
const> const&, Teuchos::RCP<Kokkos::ThrustGPUNode> const&)]+0x437):
undefined reference to `Tpetra::MultiVector<double, int, int,
Kokkos::ThrustGPUNode>::multiply(Teuchos::ETransp, Teuchos::ETransp, double
const&, Tpetra::MultiVector<double, int, int, Kokkos::ThrustGPUNode> const&,
Tpetra::MultiVector<double, int, int, Kokkos::ThrustGPUNode> const&, double
const&)'
GEMMTiming_Thrust.cpp:(.text._Z10GEMMTimingIN6Kokkos13ThrustGPUNodeEEviiRKN7Teuchos3RCPIKNS2_4CommIiEEEERKNS3_IT_EE[void
GEMMTiming<Kokkos::ThrustGPUNode>(int, int, Teuchos::RCP<Teuchos::Comm<int>
const> const&, Teuchos::RCP<Kokkos::ThrustGPUNode> const&)]+0x480):
undefined reference to `Tpetra::MultiVector<double, int, int,
Kokkos::ThrustGPUNode>::multiply(Teuchos::ETransp, Teuchos::ETransp, double
const&, Tpetra::MultiVector<double, int, int, Kokkos::ThrustGPUNode> const&,
Tpetra::MultiVector<double, int, int, Kokkos::ThrustGPUNode> const&, double
const&)'
GEMMTiming_Thrust.cpp:(.text._Z10GEMMTimingIN6Kokkos13ThrustGPUNodeEEviiRKN7Teuchos3RCPIKNS2_4CommIiEEEERKNS3_IT_EE[void
GEMMTiming<Kokkos::ThrustGPUNode>(int, int, Teuchos::RCP<Teuchos::Comm<int>
const> const&, Teuchos::RCP<Kokkos::ThrustGPUNode> const&)]+0x4c9):
undefined reference to `Tpetra::MultiVector<double, int, int,
Kokkos::ThrustGPUNode>::multiply(Teuchos::ETransp, Teuchos::ETransp, double
const&, Tpetra::MultiVector<double, int, int, Kokkos::ThrustGPUNode> const&,
Tpetra::MultiVector<double, int, int, Kokkos::ThrustGPUNode> const&, double
const&)'
GEMMTiming_Thrust.cpp:(.text._Z10GEMMTimingIN6Kokkos13ThrustGPUNodeEEviiRKN7Teuchos3RCPIKNS2_4CommIiEEEERKNS3_IT_EE[void
GEMMTiming<Kokkos::ThrustGPUNode>(int, int, Teuchos::RCP<Teuchos::Comm<int>
const> const&, Teuchos::RCP<Kokkos::ThrustGPUNode> const&)]+0x512):
undefined reference to `Tpetra::MultiVector<double, int, int,
Kokkos::ThrustGPUNode>::multiply(Teuchos::ETransp, Teuchos::ETransp, double
const&, Tpetra::MultiVector<double, int, int, Kokkos::ThrustGPUNode> const&,
Tpetra::MultiVector<double, int, int, Kokkos::ThrustGPUNode> const&, double
const&)'
GEMMTiming_Thrust.cpp:(.text._Z10GEMMTimingIN6Kokkos13ThrustGPUNodeEEviiRKN7Teuchos3RCPIKNS2_4CommIiEEEERKNS3_IT_EE[void
GEMMTiming<Kokkos::ThrustGPUNode>(int, int, Teuchos::RCP<Teuchos::Comm<int>
const> const&, Teuchos::RCP<Kokkos::ThrustGPUNode> const&)]+0x55b):
undefined reference to `Tpetra::MultiVector<double, int, int,
Kokkos::ThrustGPUNode>::multiply(Teuchos::ETransp, Teuchos::ETransp, double
const&, Tpetra::MultiVector<double, int, int, Kokkos::ThrustGPUNode> const&,
Tpetra::MultiVector<double, int, int, Kokkos::ThrustGPUNode> const&, double
const&)'
CMakeFiles/Tpetra_GEMMTiming_Thrust.dir/GEMMTiming_Thrust.cpp.o:GEMMTiming_Thrust.cpp:(.text._Z10GEMMTimingIN6Kokkos13ThrustGPUNodeEEviiRKN7Teuchos3RCPIKNS2_4CommIiEEEERKNS3_IT_EE[void
GEMMTiming<Kokkos::ThrustGPUNode>(int, int, Teuchos::RCP<Teuchos::Comm<int>
const> const&, Teuchos::RCP<Kokkos::ThrustGPUNode> const&)]+0x5a4): more
undefined references to `Tpetra::MultiVector<double, int, int,
Kokkos::ThrustGPUNode>::multiply(Teuchos::ETransp, Teuchos::ETransp, double
const&, Tpetra::MultiVector<double, int, int, Kokkos::ThrustGPUNode> const&,
Tpetra::MultiVector<double, int, int, Kokkos::ThrustGPUNode> const&, double
const&)' follow
collect2: ld returned 1 exit status
make[2]: *** [packages/tpetra/test/MultiVector/Tpetra_GEMMTiming_Thrust.exe]
Error 1
make[1]: ***
[packages/tpetra/test/MultiVector/CMakeFiles/Tpetra_GEMMTiming_Thrust.dir/all]
Error 2
make[1]: *** Waiting for unfinished jobs....
Building CXX object
packages/tpetra/test/BlockMap/CMakeFiles/Tpetra_BlockMap_UnitTests.dir/__/__/__/teuchos/test/UnitTest/Teuchos_StandardUnitTestMain.cpp.o


Regards

Gennadiy



On 22 March 2011 16:32, Baker, Christopher G. <bakercg at ornl.gov> wrote:

> Gennadiy and Ryuta:
>
> I have pushed a fix to the development branch. I will push this to the 10.6
> branch as well; it should ship with the next minor release of 10.6.
> I have also included the patch.
>
> Please let me know if you have any other problems. I apologize for taking
> so long with this; I've been on a bit of travel lately.
>
> Chris
>
> On 3/8/11 4:56 PM, "Baker, Christopher G." <bakercg at ornl.gov<mailto:
> bakercg at ornl.gov>> wrote:
>
> Hi Gennadiy,
>
> I've upgraded to CUDA 4.0 on my dev machine and reproduced this build
> error. I've isolated the problem; it comes from calling on the host compiler
> length constructor on device_vector, which is not allowable anymore. I've
> got a query in with the Thrust developers. I'll get back to you ASAP on
> this.
>
> Thanks for your patience and your help,
> Chris
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: https://software.sandia.gov/pipermail/trilinos-users/attachments/20110322/aad32260/attachment.html 


More information about the Trilinos-Users mailing list