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_copy_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

Reply via email to