RenderKit / ospray

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

ARM64/aarch64 support ? #491

Closed nyue closed 3 years ago

nyue commented 3 years ago

I see a mention of NEON and ARM and was hoping to build OSPray on my Jetson Nano via superbuild but I got the following error.

Are the ARM building process only applicable to Apple Silicon chip and MacOS ?

/piconfs/systems/OSPray/head/ispc/bin/ispc: 1: /piconfs/systems/OSPray/head/ispc/bin/ispc: ELF: not found
/piconfs/systems/OSPray/head/ispc/bin/ispc: 2: /piconfs/systems/OSPray/head/ispc/bin/ispc: @@@@@@00pp@p@@@�HQ�HQ: not found
/piconfs/systems/OSPray/head/ispc/bin/ispc: 3: /piconfs/systems/OSPray/head/ispc/bin/ispc: �: not found
/piconfs/systems/OSPray/head/ispc/bin/ispc: 4: /piconfs/systems/OSPray/head/ispc/bin/ispc: Syntax error: "(" unexpected
CMake Error at common/cmake/ispc.cmake:53 (MESSAGE):
  Error executing ISPC executable
  '/piconfs/systems/OSPray/head/ispc/bin/ispc': 2
Call Stack (most recent call first):
  CMakeLists.txt:455 (INCLUDE)

Cheers

Twinklebear commented 3 years ago

Hi @nyue it is supported on any ARM CPU; however, for non Apple Silicon systems you have to build an ARM binary of the ISPC compiler: https://ispc.github.io/ first. On Apple Silicon systems you can get around this because the x86-64 binary release of the ISPC compiler runs under Rosetta 2.

Twinklebear commented 3 years ago

I forgot to mention, ISPC does provide a build script that'll pull LLVM and build ISPC which will make that step easier: https://github.com/ispc/ispc/blob/main/scripts/build.sh