Comments (6)
I actually didn't try compiling against MSVC, so not sure if the libraries are slightly different. Do you generate the MSVC project with my cmake file?
Which versions of Thrust and Cuda are you compiling against?
from cuda-bvh.
yes, i used cmake to generate it and then compile with MSVC. I used cuda 8.0 and the corresponding thrust to cuda 8.0(when i install cuda in windows, the thrust was added automatically). Does The different version leads to the bug?
from cuda-bvh.
Hmm, it was just a thought. But I was able to get this to compile with Cuda 7.5+. Do you know which lines are causing the problem? Can you post the output + corresponding lines?
from cuda-bvh.
output:
C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v8.0/include\thrust/detail/type_traits.h(607): error : incomplete type is not allowed
2> detected during:
2> instantiation of "thrust::detail::is_assignable_ns::is_assignable<T1, T2>::test [with T1=BoundingBox &, T2=thrust::reference<BoundingBox, thrust::pointer<BoundingBox, thrust::host_system_tag, thrust::use_default, thrust::use_default>, thrust::use_default>]" based on template arguments <BoundingBox &, thrust::reference<BoundingBox, thrust::pointer<BoundingBox, thrust::host_system_tag, thrust::use_default, thrust::use_default>, thrust::use_default>>
2> (612): here
2> instantiation of class "thrust::detail::is_assignable_ns::is_assignable<T1, T2> [with T1=BoundingBox &, T2=thrust::reference<BoundingBox, thrust::pointer<BoundingBox, thrust::host_system_tag, thrust::use_default, thrust::use_default>, thrust::use_default>]"
2> (622): here
2> instantiation of class "thrust::detail::is_assignable<T1, T2> [with T1=BoundingBox &, T2=thrust::reference<BoundingBox, thrust::pointer<BoundingBox, thrust::host_system_tag, thrust::use_default, thrust::use_default>, thrust::use_default>]"
2> C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v8.0/include\thrust/system/detail/sequential/general_copy.h(41): here
2> instantiation of class "thrust::system::detail::sequential::general_copy_detail::lazy_is_assignable<T1, T2> [with T1=thrust::iterator_reference<BoundingBox *>, T2=thrust::iterator_reference<thrust::detail::normal_iterator<thrust::pointer<BoundingBox, thrust::host_system_tag, thrust::use_default, thrust::use_default>>>]"
2> (419): here
2> instantiation of class "thrust::detail::eval_if<false, Then, Else> [with Then=thrust::detail::true_type, Else=thrust::system::detail::sequential::general_copy_detail::lazy_is_assignable<thrust::iterator_reference<BoundingBox *>, thrust::iterator_reference<thrust::detail::normal_iterator<thrust::pointer<BoundingBox, thrust::host_system_tag, thrust::use_default, thrust::use_default>>>>]"
2> C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v8.0/include\thrust/system/detail/sequential/general_copy.h(61): here
2> [ 34 instantiation contexts not shown ]
2> instantiation of "OutputType thrust::system::cuda::detail::reduce(thrust::system::cuda::detail::execution_policy &, InputIterator, InputIterator, OutputType, BinaryFunction) [with DerivedPolicy=thrust::system::cuda::detail::tag, InputIterator=thrust::transform_iterator<minAccessor, thrust::device_ptr, Vec3f, thrust::use_default>, OutputType=Vec3f, BinaryFunction=minFunctor]"
2> C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v8.0/include\thrust/detail/reduce.inl(71): here
2> instantiation of "T thrust::reduce(const thrust::detail::execution_policy_base &, InputIterator, InputIterator, T, BinaryFunction) [with DerivedPolicy=thrust::system::cuda::detail::tag, InputIterator=thrust::transform_iterator<minAccessor, thrust::device_ptr, Vec3f, thrust::use_default>, T=Vec3f, BinaryFunction=minFunctor]"
2> C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v8.0/include\thrust/system/detail/generic/transform_reduce.inl(48): here
2> instantiation of "OutputType thrust::system::detail::generic::transform_reduce(thrust::execution_policy &, InputIterator, InputIterator, UnaryFunction, OutputType, BinaryFunction) [with ExecutionPolicy=thrust::system::cuda::detail::tag, InputIterator=thrust::device_ptr, UnaryFunction=minAccessor, OutputType=Vec3f, BinaryFunction=minFunctor]"
2> C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v8.0/include\thrust/detail/transform_reduce.inl(47): here
2> instantiation of "OutputType thrust::transform_reduce(const thrust::detail::execution_policy_base &, InputIterator, InputIterator, UnaryFunction, OutputType, BinaryFunction) [with DerivedPolicy=thrust::system::cuda::detail::tag, InputIterator=thrust::device_ptr, UnaryFunction=minAccessor, OutputType=Vec3f, BinaryFunction=minFunctor]"
2> C:/Program Files/NVIDIA GPU Computing Toolkit/CUDA/v8.0/include\thrust/detail/transform_reduce.inl(67): here
2> instantiation of "OutputType thrust::transform_reduce(InputIterator, InputIterator, UnaryFunction, OutputType, BinaryFunction) [with InputIterator=thrust::device_ptr, UnaryFunction=minAccessor, OutputType=Vec3f, BinaryFunction=minFunctor]"
2> D:/Documents/Downloads/cuda-bvh-master/kernels/scene.cu(73): here
2>
2> 1 error detected in the compilation of "C:/Users/ADMINI~1/AppData/Local/Temp/tmpxft_00004440_00000000-11_scene.cpp1.ii".
2>CUSTOMBUILD : nvcc warning : The -std=c++11 flag is not supported with the configured host compiler. Flag will be ignored.
2> scene.cu
2> CMake Error at cuda_bvh_generated_scene.cu.obj.Debug.cmake:278 (message):
2> Error generating file
2> D:/Documents/Downloads/cuda-bvh-master/CMakeFiles/cuda_bvh.dir/kernels/Debug/cuda_bvh_generated_scene.cu.obj
and the bug is https://stackoverflow.com/questions/29269284/debugging-incomplete-type-errors-with-thrust
from cuda-bvh.
Hmm this looks more like an issue with my build config. Can you try this out real fast? I have a full ray tracer implementation here https://github.com/mbartling/cuda-rt
I might have a more up to date version of the bvh there.
from cuda-bvh.
I tried the project above, but it failed again and has the same bug, now i decide to compile it in ubuntu.
anyway, very thanks!
from cuda-bvh.
Related Issues (1)
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from cuda-bvh.