RenderKit / ospray

An Open, Scalable, Portable, Ray Tracing Based Rendering Engine for High-Fidelity Visualization
http://ospray.org
Apache License 2.0
1.02k stars 186 forks source link

Unable to configure OSPRay with MIC support on v.0.9.0 and master #38

Closed ncos closed 8 years ago

ncos commented 8 years ago

Hi,

I am trying to configure OSPRay (master branch) with

cmake -DOSPRAY_ISPC_DIRECTORY:PATH=$ISPC_HOME 
             -DOSPRAY_BUILD_MIC_SUPPORT:BOOL=ON 
             -DCMAKE_CXX_COMPILER:PATH=clang++ 
             -DCMAKE_C_COMPILER:PATH=clang ..

And it keeps saying

CMake Error at ospray/embree-v2.7.1/common/sys/CMakeLists.txt:39 (ADD_LIBRARY):
  add_library cannot create target "sys" because another target with the same
  name already exists.  The existing target is a static library created in
  source directory
  "/export/users/nightly/ospray_test/ospray/ospray/embree-v2.7.1/common/sys".
  See documentation for policy CMP0002 for more details.

And the same for 'simd' and 'lexers' libraries.

I have this problem on master branch and tag v.0.9.0, while I am able to configure and compile tag v.0.9.0RC1.

This bug occurs only if -DOSPRAY_BUILD_MIC_SUPPORT:BOOL=ON flag passed to Cmake, I tried passing in gcc 4.9.1 and clang 3.8 compilers but to no avail. I use ISPC trunk built with LLVM 3.8 if that may be of any importance.

jeffamstutz commented 8 years ago

Hi ncos,

First things first: we broke KNC builds when we moved to Embree 2.7.1, C++11, and the new TBB tasking system backend. This is exactly the issue I am currently working on where I currently have everything building but having issues running right now. I hope to have those fixed within the next few days...I'll post here when I have merged my working branch into our 'release-0.9' branch.

The second thing is that KNC builds are only supported with the Intel compiler because GCC and CLANG do not emit code for KNC (it has a different instruction set to x86). People have prepped GCC (and CLANG?) for the next generation Xeon Phi, Knights Landing. As a part of my fixes for KNC, I will appropriately hide KNC build options in CMake to reduce confusion and prevent builds which won't compile.

Again, I'll post here and close the issue when the fixes have been merged to 'release-0.9'.

Thanks for the feedback, Jeff

jeffamstutz commented 8 years ago

Quick update: the KNC code paths (both COI and MPI) now compile and run again in 'release-0.9'. However, there's still a bug lingering in volumes which crashes on mic, but ospModelViewer and ospStreamlineViewer both work for triangle meshes and non-polygonal data.

While those fixes are merged, the github issue will remain open until volume rendering is fixed. Keep in mind that KNC is less of a priority for us right now, so it may be a while before remaining KNC issues are fixed.

Cheers, Jeff

jeffamstutz commented 8 years ago

Issue has been fixed in the latest release.

Jeff