Hi, so specifying the architecture worked, but now a different problem occurs.
/usr/local/include/hpx/util/optional.hpp(244): error: statement may not appear in a constexpr function /usr/local/include/hpx/util/optional.hpp(246): error: a constexpr function must contain exactly one return statement 2 errors detected in the compilation of "/tmp/tmpxft_00002044_00000000-4_data_copy.cpp4.ii". CMake Error at cuda_copy_exe_generated_data_copy.cu.o.cmake:279 (message): Error generating file /home/kostov/Projects/Tests/data_copy/build/CMakeFiles/cuda_copy_exe.dir//./cuda_copy_exe_generated_data_copy.cu.o Any idea what could be causing this? Best regards, Ivan On Wed, 28 Mar 2018 09:24:08 -0500 "Hartmut Kaiser" <[email protected]> wrote: > compute_sm20 is just the fallback used if nothing else >is specified. You can > add a -DHPX_WITH_CUDA_ARCH=compute_sm50 to you cmake >configure command line > to specify the architecture you need. > > Regards Hartmut > --------------- > http://boost-spirit.com > http://stellar.cct.lsu.edu > > >> -----Original Message----- >> From: [email protected] >>[mailto:hpx-users- >> [email protected]] On Behalf Of Ivan Kostov >> Sent: Wednesday, March 28, 2018 9:14 AM >> To: [email protected] >> Subject: Re: [hpx-users] CUDA with HPX >> >> Hallo Andreas, >> >> so we did end up upgrading the OS and now I'm running >>CUDA >> 9.1. Now I have the following error: >> >> nvcc fatal : Unsupported gpu architecture 'compute_20' >> >> which is gone as of CUDA 9. I tried to set it within my >> cmake file with >> >> set( CUDA_NVCC_FLAGS "${CUDA_NVCC_FLAGS} -gencode >> arch=compute_50,code=sm_50") >> >> which is the highest, supported by my GPU (GPX 750 Ti), >> but it still didn't work. Here is the whole error >>message >> >> >> /usr/bin/nvcc -M -D__CUDACC__ >> /home/kostov/Projects/Masterarbeit/Tests/data_copy/data_copy.cu >> -o >> /home/kostov/Projects/Masterarbeit/Tests/data_copy/build/CMakeFiles/cuda_c >> opy_exe.dir//cuda_copy_exe_generated_data_copy.cu.o.NVCC-depend >> -ccbin /usr/bin/cc -m64 >> -DHPX_APPLICATION_NAME=cuda_copy_exe >> -DHPX_APPLICATION_STRING=\"cuda_copy_exe\" >> -DHPX_PREFIX=\"/usr/local\" -DHPX_APPLICATION_EXPORTS >> -Xcompiler >> ,\"-D_MWAITXINTRIN_H_INCLUDED\",\"-D_FORCE_INLINES\",\"- >> D__STRICT_ANSI__\",\"-g\" >> -w -gencode=arch=compute_20,code=sm_20 -std=c++11 >> --expt-relaxed-constexpr --expt-extended-lambda >> --default-stream per-thread -lcudadevrt -rdc=true >>-gencode >> arch=compute_50,code=sm_50 -DNVCC -I/usr/local/include >> -I/usr/local/include/hpx/external -I/usr/include >> nvcc fatal : Unsupported gpu architecture 'compute_20' >> >> >> and my cmake file >> >> >> cmake_minimum_required(VERSION 3.3) >> project(hpxvr CXX) >> >> set(CMAKE_CXX_STANDARD 14) >> set(CMAKE_CXX_STANDARD_REQUIRED ON) >> >> set(HPX_IGNORE_COMPILER_COMPATIBILITY ON) >> >> find_package(HPX REQUIRED) >> >> include_directories(${HPX_INCLUDE_DIR}) >> >> set( CMAKE_CXX_FLAGS "-D_MWAITXINTRIN_H_INCLUDED >> -D_FORCE_INLINES -D__STRICT_ANSI__") >> set( CUDA_NVCC_FLAGS "${CUDA_NVCC_FLAGS} -gencode >> arch=compute_50,code=sm_50") >> >> add_hpx_executable(cuda_copy >> ESSENTIAL >> SOURCES data_copy.cu >> ) >> >> >> Is HPX maybe setting the architecture to compute_20? >> >> Best regards, >> Ivan >> >> >> >> On Tue, 27 Mar 2018 15:43:48 +0200 >> Andreas Schäfer <[email protected]> wrote: >> > Ivan, >> > >> > could you retest this with CUDA 9.1? Version 7.5 is >> >really old and I >> > don't think it works well with modern C++. I don't >>think >> >you have to >> > re-install the whole OS, you could alternatively just >> >download CUDA >> > and install it manually. >> > >> > Thanks! >> > -Andreas >> > >> > >> > On 14:22 Tue 27 Mar , Ivan Kostov wrote: >> >> Hi, >> >> >> >> I am trying to understand how HPX Compute works with >> >>CUDA >> >> and wanted to compile the >> >> examples/compute/cuda/data_copy.cu example. >> >>Unfortunately, >> >> I'm getting the following error: >> >> >> >> >>/usr/include/c++/5/bits/stl_iterator_base_types.h(154): >> >> error: class >> >> "std::unique_ptr<hpx::parcelset::locality::impl_base, >> >> >>std::default_delete<hpx::parcelset::locality::impl_base>>" >> >> has no member "iterator_category" >> >> detected during: >> >> instantiation of class >> >> "std::__iterator_traits<_Iterator, void> [with >> >> >>_Iterator=std::unique_ptr<hpx::parcelset::locality::impl_base, >> >> >>std::default_delete<hpx::parcelset::locality::impl_base>>]" >> >> (163): here >> >> instantiation of class >> >> "std::iterator_traits<_Iterator> [with >> >> >>_Iterator=std::unique_ptr<hpx::parcelset::locality::impl_base, >> >> >>std::default_delete<hpx::parcelset::locality::impl_base>>]" >> >> /usr/local/include/hpx/traits/is_iterator.hpp(43): >>here >> >> instantiation of class >> >> "hpx::traits::detail::is_iterator<T> [with >> >> >>T=std::unique_ptr<hpx::parcelset::locality::impl_base, >> >> >>std::default_delete<hpx::parcelset::locality::impl_base>>]" >> >> /usr/local/include/hpx/traits/is_iterator.hpp(49): >>here >> >> instantiation of class >> >> "hpx::traits::is_iterator<Iter, Enable> [with >>Iter=const >> >> std::unique_ptr<hpx::parcelset::locality::impl_base, >> >> >>std::default_delete<hpx::parcelset::locality::impl_base>> >> >> &, Enable=void]" >> >> >>/usr/local/include/hpx/runtime/parcelset/locality.hpp(150): >> >> here >> >> >> >> >>/usr/include/c++/5/bits/stl_iterator_base_types.h(155): >> >> error: class >> >> "std::unique_ptr<hpx::parcelset::locality::impl_base, >> >> >>std::default_delete<hpx::parcelset::locality::impl_base>>" >> >> has no member "value_type" >> >> detected during: >> >> instantiation of class >> >> "std::__iterator_traits<_Iterator, void> [with >> >> >>_Iterator=std::unique_ptr<hpx::parcelset::locality::impl_base, >> >> >>std::default_delete<hpx::parcelset::locality::impl_base>>]" >> >> (163): here >> >> instantiation of class >> >> "std::iterator_traits<_Iterator> [with >> >> >>_Iterator=std::unique_ptr<hpx::parcelset::locality::impl_base, >> >> >>std::default_delete<hpx::parcelset::locality::impl_base>>]" >> >> /usr/local/include/hpx/traits/is_iterator.hpp(43): >>here >> >> instantiation of class >> >> "hpx::traits::detail::is_iterator<T> [with >> >> >>T=std::unique_ptr<hpx::parcelset::locality::impl_base, >> >> >>std::default_delete<hpx::parcelset::locality::impl_base>>]" >> >> /usr/local/include/hpx/traits/is_iterator.hpp(49): >>here >> >> instantiation of class >> >> "hpx::traits::is_iterator<Iter, Enable> [with >>Iter=const >> >> std::unique_ptr<hpx::parcelset::locality::impl_base, >> >> >>std::default_delete<hpx::parcelset::locality::impl_base>> >> >> &, Enable=void]" >> >> >>/usr/local/include/hpx/runtime/parcelset/locality.hpp(150): >> >> here >> >> >> >> >>/usr/include/c++/5/bits/stl_iterator_base_types.h(156): >> >> error: class >> >> "std::unique_ptr<hpx::parcelset::locality::impl_base, >> >> >>std::default_delete<hpx::parcelset::locality::impl_base>>" >> >> has no member "difference_type" >> >> .... >> >> >> >> and it continues like this for a while. >> >> >> >> I am running an Ubuntu 16.04, gcc 5.4.0., cuda 7.5.17 >> >> >> >> this is the cmake file i used to compile the example >> >> >> >> cmake_minimum_required(VERSION 3.3) >> >> project(hpxvr CXX) >> >> >> >> set(CMAKE_CXX_STANDARD 14) >> >> set(CMAKE_CXX_STANDARD_REQUIRED ON) >> >> >> >> set(HPX_IGNORE_COMPILER_COMPATIBILITY ON) >> >> >> >> find_package(HPX REQUIRED) >> >> >> >> include_directories(${HPX_INCLUDE_DIR}) >> >> >> >> set( CMAKE_CXX_FLAGS "-D_MWAITXINTRIN_H_INCLUDED >> >> -D_FORCE_INLINES -D__STRICT_ANSI__") >> >> >> >> add_hpx_executable(cuda_copy_expl >> >> ESSENTIAL >> >> SOURCES data_copy.cu >> >> ) >> >> >> >> I used to have another two error messages >> >> >> >> >>/usr/lib/gcc/x86_64-linux-gnu/5/include/mwaitxintrin.h(36): >> >> error: identifier "__builtin_ia32_monitorx" is >>undefined >> >> >> >> >>/usr/lib/gcc/x86_64-linux-gnu/5/include/mwaitxintrin.h(42): >> >> error: identifier "__builtin_ia32_mwaitx" is >>undefined >> >> >> >> which were solved using this workaround - >> >> https://github.com/NVIDIA/nccl/issues/29 >> >> >> >> As a last case solution we could upgrade to Ubuntu 17 >> >>and >> >> hope that the problem resolves itself with newer CUDA >> >> versions, but would rather remain on Ubuntu 16. Do >>you >> >> have any solution ideas that could help? >> >> >> >> Best regards, >> >> Ivan >> >> >> >> >> >> >> >> _______________________________________________ >> >> hpx-users mailing list >> >> [email protected] >> >> https://mail.cct.lsu.edu/mailman/listinfo/hpx-users >> >> >> > >> > -- >> > >>========================================================== >> > Andreas Schäfer >> > >> > HPC and Supercomputing for Computer Simulations >> > LibGeoDecomp project lead, http://www.libgeodecomp.org >> > >> > PGP/GPG key via keyserver >> > >> > I'm an SRE @ Google, this is a private account though. >> > All mails are my own and not Google's. >> > >>========================================================== >> > >> > (\___/) >> > (+'.'+) >> > (")_(") >> > This is Bunny. Copy and paste Bunny into your >> > signature to help him gain world domination! >> >> _______________________________________________ >> hpx-users mailing list >> [email protected] >> https://mail.cct.lsu.edu/mailman/listinfo/hpx-users > > _______________________________________________ > hpx-users mailing list > [email protected] > https://mail.cct.lsu.edu/mailman/listinfo/hpx-users _______________________________________________ hpx-users mailing list [email protected] https://mail.cct.lsu.edu/mailman/listinfo/hpx-users
