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

Problems with texture transparency and segfault using GPU module/device #588

Open player1537 opened 4 months ago

player1537 commented 4 months ago

Hi again RenderKit team đź‘‹

I'm doing a project using OSPRay for our Intel Center of Excellence program. The core idea is to create a rendering service/web API for visualizing biodiversity and energy efficiency data at a city scale.

We're at the phase of our project now where we have enough data (geometry, textures, etc) that we need to use the OSPRay GPU module/device.

During my testing, I noticed some weird rendering artifacts:

Initial symptom of the problem ![285ed794](https://github.com/RenderKit/ospray/assets/1215969/22bc5025-feee-4ae1-9ac1-1f60c1285cea)

Since then, I've tried to create a minimal reproducible example, and I've broken our problem down into a problem with textures. There are two symptoms:

First, on GPU, my texture maps are partly-to-mostly transparent. The amount and location of transparency is related to the texture size. In general, for a texture of size N, the first 1/N is only partially transparent and the remaining texture is varying degrees of mostly transparent.

Second, on GPU, copying the data for a 19x19 texture crashes OSPRay with a segfault inside a memcpy, inside ospray::Data::copy().


I did something kind of weird: my script to reproduce this problem is in Python using a ctypes-based wrapper around OSPRay. Everything works perfectly fine using the CPU device, so I don't believe the problem is related to my wrapper.

The source code for the script is in https://github.com/player1537-playground/OSPRay-GPU-Texture-Problem in the test.py file.

test.py has a small amount of documentation at the top, but the short form is:

0) I am using an Intel Dev Cloud machine, specifically:

Intel® Max Series GPU (PVC) on 4th Gen Intel® Xeon® processors – 1100 series (8x)
SYCL Devices ```console sdp@university-of-tennessee-seelab:~/src/OSPRay-GPU-Texture-Problem$ sycl-ls [opencl:acc:0] Intel(R) FPGA Emulation Platform for OpenCL(TM), Intel(R) FPGA Emulation Device OpenCL 1.2 [2023.16.12.0.12_195853.xmain-hotfix] [opencl:cpu:1] Intel(R) OpenCL, Intel(R) Xeon(R) Platinum 8468V OpenCL 3.0 (Build 0) [2023.16.12.0.12_195853.xmain-hotfix] [opencl:cpu:2] Intel(R) OpenCL, Intel(R) Xeon(R) Platinum 8468V OpenCL 3.0 (Build 0) [2023.16.10.0.17_160000] [opencl:gpu:3] Intel(R) OpenCL Graphics, Intel(R) Data Center GPU Max 1100 OpenCL 3.0 NEO [23.35.27191.42] [opencl:gpu:4] Intel(R) OpenCL Graphics, Intel(R) Data Center GPU Max 1100 OpenCL 3.0 NEO [23.35.27191.42] [opencl:gpu:5] Intel(R) OpenCL Graphics, Intel(R) Data Center GPU Max 1100 OpenCL 3.0 NEO [23.35.27191.42] [opencl:gpu:6] Intel(R) OpenCL Graphics, Intel(R) Data Center GPU Max 1100 OpenCL 3.0 NEO [23.35.27191.42] [opencl:gpu:7] Intel(R) OpenCL Graphics, Intel(R) Data Center GPU Max 1100 OpenCL 3.0 NEO [23.35.27191.42] [opencl:gpu:8] Intel(R) OpenCL Graphics, Intel(R) Data Center GPU Max 1100 OpenCL 3.0 NEO [23.35.27191.42] [opencl:gpu:9] Intel(R) OpenCL Graphics, Intel(R) Data Center GPU Max 1100 OpenCL 3.0 NEO [23.35.27191.42] [opencl:gpu:10] Intel(R) OpenCL Graphics, Intel(R) Data Center GPU Max 1100 OpenCL 3.0 NEO [23.35.27191.42] [ext_oneapi_level_zero:gpu:0] Intel(R) Level-Zero, Intel(R) Data Center GPU Max 1100 1.3 [1.3.27191] [ext_oneapi_level_zero:gpu:1] Intel(R) Level-Zero, Intel(R) Data Center GPU Max 1100 1.3 [1.3.27191] [ext_oneapi_level_zero:gpu:2] Intel(R) Level-Zero, Intel(R) Data Center GPU Max 1100 1.3 [1.3.27191] [ext_oneapi_level_zero:gpu:3] Intel(R) Level-Zero, Intel(R) Data Center GPU Max 1100 1.3 [1.3.27191] [ext_oneapi_level_zero:gpu:4] Intel(R) Level-Zero, Intel(R) Data Center GPU Max 1100 1.3 [1.3.27191] [ext_oneapi_level_zero:gpu:5] Intel(R) Level-Zero, Intel(R) Data Center GPU Max 1100 1.3 [1.3.27191] [ext_oneapi_level_zero:gpu:6] Intel(R) Level-Zero, Intel(R) Data Center GPU Max 1100 1.3 [1.3.27191] [ext_oneapi_level_zero:gpu:7] Intel(R) Level-Zero, Intel(R) Data Center GPU Max 1100 1.3 [1.3.27191] ```

1) Load the oneAPI environment

My oneAPI environment ```console sdp@university-of-tennessee-seelab:~/src/OSPRay-GPU-Texture-Problem$ ls -lah /opt/intel/oneapi/*/ /opt/intel/oneapi/2024.0/: total 128K drwxr-xr-x 12 root root 4.0K Mar 19 05:26 . drwxr-xr-x 45 root root 4.0K May 14 23:50 .. drwxr-xr-x 4 root root 12K Mar 19 05:26 bin drwxr-xr-x 20 root root 4.0K Mar 19 05:26 etc drwxr-xr-x 24 root root 12K Mar 19 05:26 include drwxr-xr-x 12 root root 32K Mar 19 05:26 lib drwxr-xr-x 3 root root 4.0K Mar 19 05:26 lib32 lrwxrwxrwx 1 root root 17 Mar 19 05:17 libfabric -> opt/mpi/libfabric drwxr-xr-x 3 root root 4.0K Mar 19 05:08 licensing drwxr-xr-x 2 root root 4.0K Mar 19 05:17 linux drwxr-xr-x 2 root root 4.0K Mar 19 05:08 modulefiles -rw-r--r-- 2 root root 25K Oct 11 2023 oneapi-vars.sh drwxr-xr-x 10 root root 4.0K Mar 19 05:18 opt lrwxrwxrwx 1 root root 56 Mar 19 05:26 readme-get-started-linux-base-kit.html -> ../basekit/2024.0/readme-get-started-linux-base-kit.html lrwxrwxrwx 1 root root 54 Mar 19 05:26 readme-get-started-linux-hpc-kit.html -> ../hpckit/2024.0/readme-get-started-linux-hpc-kit.html lrwxrwxrwx 1 root root 60 Mar 19 05:26 readme-get-started-linux-render-kit.html -> ../renderkit/2024.0/readme-get-started-linux-render-kit.html drwxr-xr-x 10 root root 4.0K Mar 19 05:17 share /opt/intel/oneapi/2024.1/: total 80K drwxr-xr-x 10 root root 4.0K May 14 23:50 . drwxr-xr-x 45 root root 4.0K May 14 23:50 .. drwxr-xr-x 4 root root 4.0K May 14 23:50 bin drwxr-xr-x 8 root root 4.0K May 14 23:50 etc drwxr-xr-x 11 root root 4.0K May 14 23:50 include drwxr-xr-x 6 root root 12K May 14 23:50 lib drwxr-xr-x 3 root root 4.0K May 14 23:50 lib32 drwxr-xr-x 3 root root 4.0K May 14 23:50 licensing -rw-r--r-- 2 root root 25K Feb 6 16:13 oneapi-vars.sh drwxr-xr-x 4 root root 4.0K May 14 23:50 opt lrwxrwxrwx 1 root root 60 May 14 23:50 readme-get-started-linux-render-kit.html -> ../renderkit/2024.1/readme-get-started-linux-render-kit.html drwxr-xr-x 6 root root 4.0K May 14 23:50 share /opt/intel/oneapi/advisor/: total 12K drwxr-xr-x 3 root root 4.0K Mar 19 05:08 . drwxr-xr-x 45 root root 4.0K May 14 23:50 .. drwxr-xr-x 23 root root 4.0K Mar 19 05:03 2024.0 lrwxrwxrwx 1 root root 6 Mar 19 05:08 latest -> 2024.0 /opt/intel/oneapi/basekit/: total 12K drwxr-xr-x 3 root root 4.0K Mar 19 05:08 . drwxr-xr-x 45 root root 4.0K May 14 23:50 .. drwxr-xr-x 3 root root 4.0K Mar 19 04:59 2024.0 lrwxrwxrwx 1 root root 6 Mar 19 05:08 latest -> 2024.0 /opt/intel/oneapi/ccl/: total 12K drwxr-xr-x 3 root root 4.0K Mar 19 05:22 . drwxr-xr-x 45 root root 4.0K May 14 23:50 .. drwxr-xr-x 8 root root 4.0K Mar 19 05:00 2021.11 lrwxrwxrwx 1 root root 7 Mar 19 05:22 latest -> 2021.11 /opt/intel/oneapi/common/: total 16K drwxr-xr-x 4 root root 4.0K May 14 23:50 . drwxr-xr-x 45 root root 4.0K May 14 23:50 .. drwxr-xr-x 3 root root 4.0K Mar 19 04:59 2024.0 drwxr-xr-x 3 root root 4.0K May 14 23:49 2024.1 lrwxrwxrwx 1 root root 6 May 14 23:50 latest -> 2024.1 /opt/intel/oneapi/compiler/: total 16K drwxr-xr-x 4 root root 4.0K May 14 23:50 . drwxr-xr-x 45 root root 4.0K May 14 23:50 .. drwxr-xr-x 11 root root 4.0K Mar 19 05:01 2024.0 drwxr-xr-x 9 root root 4.0K May 14 23:50 2024.1 lrwxrwxrwx 1 root root 6 May 14 23:50 latest -> 2024.1 /opt/intel/oneapi/conda_channel/: total 124K drwxr-xr-x 5 root root 4.0K Mar 19 05:22 . drwxr-xr-x 45 root root 4.0K May 14 23:50 .. drwxr-xr-x 3 root root 4.0K Mar 19 05:22 bin -rw-r--r-- 1 root root 96K Mar 19 05:16 channeldata.json drwxr-xr-x 3 root root 12K Mar 19 05:22 linux-64 drwxr-xr-x 3 root root 4.0K Mar 19 05:22 noarch /opt/intel/oneapi/dal/: total 12K drwxr-xr-x 3 root root 4.0K Mar 19 05:26 . drwxr-xr-x 45 root root 4.0K May 14 23:50 .. drwxr-xr-x 8 root root 4.0K Mar 19 05:01 2024.0 lrwxrwxrwx 1 root root 6 Mar 19 05:26 latest -> 2024.0 /opt/intel/oneapi/debugger/: total 12K drwxr-xr-x 3 root root 4.0K Mar 19 05:17 . drwxr-xr-x 45 root root 4.0K May 14 23:50 .. drwxr-xr-x 8 root root 4.0K Mar 19 05:00 2024.0 lrwxrwxrwx 1 root root 6 Mar 19 05:17 latest -> 2024.0 /opt/intel/oneapi/dev-utilities/: total 12K drwxr-xr-x 3 root root 4.0K Mar 19 05:17 . drwxr-xr-x 45 root root 4.0K May 14 23:50 .. drwxr-xr-x 8 root root 4.0K Mar 19 04:59 2024.0 lrwxrwxrwx 1 root root 6 Mar 19 05:17 latest -> 2024.0 /opt/intel/oneapi/diagnostics/: total 12K drwxr-xr-x 3 root root 4.0K Mar 19 05:17 . drwxr-xr-x 45 root root 4.0K May 14 23:50 .. drwxr-xr-x 6 root root 4.0K Mar 19 04:59 2024.0 lrwxrwxrwx 1 root root 6 Mar 19 05:17 latest -> 2024.0 /opt/intel/oneapi/dnnl/: total 12K drwxr-xr-x 3 root root 4.0K Mar 19 05:26 . drwxr-xr-x 45 root root 4.0K May 14 23:50 .. drwxr-xr-x 8 root root 4.0K Mar 19 05:04 2024.0 lrwxrwxrwx 1 root root 6 Mar 19 05:26 latest -> 2024.0 /opt/intel/oneapi/dpcpp-ct/: total 12K drwxr-xr-x 3 root root 4.0K Mar 19 05:17 . drwxr-xr-x 45 root root 4.0K May 14 23:50 .. drwxr-xr-x 9 root root 4.0K Mar 19 04:59 2024.0 lrwxrwxrwx 1 root root 6 Mar 19 05:17 latest -> 2024.0 /opt/intel/oneapi/dpl/: total 12K drwxr-xr-x 3 root root 4.0K Mar 19 05:17 . drwxr-xr-x 45 root root 4.0K May 14 23:50 .. drwxr-xr-x 9 root root 4.0K Mar 19 04:59 2022.3 lrwxrwxrwx 1 root root 6 Mar 19 05:17 latest -> 2022.3 /opt/intel/oneapi/embree/: total 12K drwxr-xr-x 3 root root 4.0K Mar 19 05:26 . drwxr-xr-x 45 root root 4.0K May 14 23:50 .. drwxr-xr-x 9 root root 4.0K Mar 19 05:05 4.3 lrwxrwxrwx 1 root root 3 Mar 19 05:26 latest -> 4.3 /opt/intel/oneapi/hpckit/: total 12K drwxr-xr-x 3 root root 4.0K Mar 19 05:08 . drwxr-xr-x 45 root root 4.0K May 14 23:50 .. drwxr-xr-x 3 root root 4.0K Mar 19 05:04 2024.0 lrwxrwxrwx 1 root root 6 Mar 19 05:08 latest -> 2024.0 /opt/intel/oneapi/inspector/: total 12K drwxr-xr-x 3 root root 4.0K Mar 19 05:17 . drwxr-xr-x 45 root root 4.0K May 14 23:50 .. drwxr-xr-x 19 root root 4.0K Mar 19 05:04 2024.0 lrwxrwxrwx 1 root root 6 Mar 19 05:17 latest -> 2024.0 /opt/intel/oneapi/intelpython/: total 12K drwxr-xr-x 3 root root 4.0K Mar 19 05:08 . drwxr-xr-x 45 root root 4.0K May 14 23:50 .. lrwxrwxrwx 1 root root 9 Mar 19 05:08 latest -> python3.9 drwxr-xr-x 21 root root 4.0K Mar 19 05:08 python3.9 /opt/intel/oneapi/ipp/: total 12K drwxr-xr-x 3 root root 4.0K Mar 19 05:18 . drwxr-xr-x 45 root root 4.0K May 14 23:50 .. drwxr-xr-x 9 root root 4.0K Mar 19 05:02 2021.10 lrwxrwxrwx 1 root root 7 Mar 19 05:18 latest -> 2021.10 /opt/intel/oneapi/ippcp/: total 12K drwxr-xr-x 3 root root 4.0K Mar 19 05:17 . drwxr-xr-x 45 root root 4.0K May 14 23:50 .. drwxr-xr-x 9 root root 4.0K Mar 19 05:02 2021.9 lrwxrwxrwx 1 root root 6 Mar 19 05:17 latest -> 2021.9 /opt/intel/oneapi/ispc/: total 16K drwxr-xr-x 4 root root 4.0K May 14 23:50 . drwxr-xr-x 45 root root 4.0K May 14 23:50 .. drwxr-xr-x 9 root root 4.0K Mar 19 05:05 1.21 drwxr-xr-x 9 root root 4.0K May 14 23:50 1.23 lrwxrwxrwx 1 root root 4 May 14 23:50 latest -> 1.23 /opt/intel/oneapi/itac/: total 12K drwxr-xr-x 3 root root 4.0K Mar 19 05:17 . drwxr-xr-x 45 root root 4.0K May 14 23:50 .. drwxr-xr-x 13 root root 4.0K Mar 19 05:04 2022.0 lrwxrwxrwx 1 root root 6 Mar 19 05:17 latest -> 2022.0 /opt/intel/oneapi/licensing/: total 20K drwxr-xr-x 5 root root 4.0K May 14 23:50 . drwxr-xr-x 45 root root 4.0K May 14 23:50 .. drwxr-xr-x 2 root root 4.0K Mar 19 05:05 2023.2.0 drwxr-xr-x 4 root root 4.0K Mar 19 04:59 2024.0 drwxr-xr-x 4 root root 4.0K May 14 23:49 2024.1 lrwxrwxrwx 1 root root 6 May 14 23:50 latest -> 2024.1 /opt/intel/oneapi/mkl/: total 12K drwxr-xr-x 3 root root 4.0K Mar 19 05:08 . drwxr-xr-x 45 root root 4.0K May 14 23:50 .. drwxr-xr-x 9 root root 4.0K Mar 19 05:03 2024.0 lrwxrwxrwx 1 root root 6 Mar 19 05:08 latest -> 2024.0 /opt/intel/oneapi/modelzoo/: total 12K drwxr-xr-x 3 root root 4.0K Mar 19 05:17 . drwxr-xr-x 45 root root 4.0K May 14 23:50 .. drwxr-xr-x 6 root root 4.0K Mar 19 05:05 2.12.0 lrwxrwxrwx 1 root root 6 Mar 19 05:17 latest -> 2.12.0 /opt/intel/oneapi/modin/: total 12K drwxr-xr-x 3 root root 4.0K Mar 19 05:17 . drwxr-xr-x 45 root root 4.0K May 14 23:50 .. drwxr-xr-x 3 root root 4.0K Mar 19 05:17 0.23.0.0 lrwxrwxrwx 1 root root 8 Mar 19 05:17 latest -> 0.23.0.0 /opt/intel/oneapi/mpi/: total 20K drwxr-xr-x 5 root root 4.0K May 14 23:50 . drwxr-xr-x 45 root root 4.0K May 14 23:50 .. drwxr-xr-x 14 root root 4.0K Mar 19 05:05 2021.10.0 drwxr-xr-x 10 root root 4.0K Mar 19 05:00 2021.11 drwxr-xr-x 9 root root 4.0K May 14 23:50 2021.12 lrwxrwxrwx 1 root root 7 May 14 23:50 latest -> 2021.12 /opt/intel/oneapi/neural-compressor/: total 12K drwxr-xr-x 3 root root 4.0K Mar 19 05:08 . drwxr-xr-x 45 root root 4.0K May 14 23:50 .. drwxr-xr-x 4 root root 4.0K Mar 19 05:05 2.2.0 lrwxrwxrwx 1 root root 5 Mar 19 05:08 latest -> 2.2.0 /opt/intel/oneapi/oidn/: total 16K drwxr-xr-x 4 root root 4.0K May 14 23:50 . drwxr-xr-x 45 root root 4.0K May 14 23:50 .. drwxr-xr-x 9 root root 4.0K Mar 19 05:06 2.1 drwxr-xr-x 9 root root 4.0K May 14 23:50 2.2 lrwxrwxrwx 1 root root 3 May 14 23:50 latest -> 2.2 /opt/intel/oneapi/openpgl/: total 16K drwxr-xr-x 4 root root 4.0K May 14 23:50 . drwxr-xr-x 45 root root 4.0K May 14 23:50 .. drwxr-xr-x 9 root root 4.0K Mar 19 05:06 0.5 drwxr-xr-x 9 root root 4.0K May 14 23:50 0.6 lrwxrwxrwx 1 root root 3 May 14 23:50 latest -> 0.6 /opt/intel/oneapi/openvkl/: total 12K drwxr-xr-x 3 root root 4.0K Mar 19 05:26 . drwxr-xr-x 45 root root 4.0K May 14 23:50 .. drwxr-xr-x 9 root root 4.0K Mar 19 05:06 2.0 lrwxrwxrwx 1 root root 3 Mar 19 05:26 latest -> 2.0 /opt/intel/oneapi/ospray/: total 16K drwxr-xr-x 4 root root 4.0K May 14 23:50 . drwxr-xr-x 45 root root 4.0K May 14 23:50 .. drwxr-xr-x 9 root root 4.0K Mar 19 05:06 3.0 drwxr-xr-x 9 root root 4.0K May 14 23:50 3.1 lrwxrwxrwx 1 root root 3 May 14 23:50 latest -> 3.1 /opt/intel/oneapi/ospray_studio/: total 16K drwxr-xr-x 4 root root 4.0K May 14 23:50 . drwxr-xr-x 45 root root 4.0K May 14 23:50 .. drwxr-xr-x 8 root root 4.0K Mar 19 05:06 0.13 drwxr-xr-x 8 root root 4.0K May 14 23:50 1.0 lrwxrwxrwx 1 root root 3 May 14 23:50 latest -> 1.0 /opt/intel/oneapi/pytorch/: total 12K drwxr-xr-x 3 root root 4.0K Mar 19 05:18 . drwxr-xr-x 45 root root 4.0K May 14 23:50 .. drwxr-xr-x 14 root root 4.0K Mar 19 05:21 2.0.1.0 lrwxrwxrwx 1 root root 7 Mar 19 05:18 latest -> 2.0.1.0 /opt/intel/oneapi/renderkit/: total 16K drwxr-xr-x 4 root root 4.0K May 14 23:50 . drwxr-xr-x 45 root root 4.0K May 14 23:50 .. drwxr-xr-x 3 root root 4.0K Mar 19 05:06 2024.0 drwxr-xr-x 3 root root 4.0K May 14 23:50 2024.1 lrwxrwxrwx 1 root root 6 May 14 23:50 latest -> 2024.1 /opt/intel/oneapi/rkcommon/: total 16K drwxr-xr-x 4 root root 4.0K May 14 23:50 . drwxr-xr-x 45 root root 4.0K May 14 23:50 .. drwxr-xr-x 8 root root 4.0K Mar 19 05:05 1.12 drwxr-xr-x 8 root root 4.0K May 14 23:50 1.13 lrwxrwxrwx 1 root root 4 May 14 23:50 latest -> 1.13 /opt/intel/oneapi/rkutil/: total 16K drwxr-xr-x 4 root root 4.0K May 14 23:50 . drwxr-xr-x 45 root root 4.0K May 14 23:50 .. drwxr-xr-x 6 root root 4.0K May 14 23:50 1.10 drwxr-xr-x 6 root root 4.0K Mar 19 05:06 1.9 lrwxrwxrwx 1 root root 4 May 14 23:50 latest -> 1.10 /opt/intel/oneapi/tbb/: total 16K drwxr-xr-x 4 root root 4.0K May 14 23:50 . drwxr-xr-x 45 root root 4.0K May 14 23:50 .. drwxr-xr-x 9 root root 4.0K Mar 19 04:59 2021.11 drwxr-xr-x 9 root root 4.0K May 14 23:50 2021.12 lrwxrwxrwx 1 root root 7 May 14 23:50 latest -> 2021.12 /opt/intel/oneapi/tcm/: total 12K drwxr-xr-x 3 root root 4.0K Mar 19 05:08 . drwxr-xr-x 45 root root 4.0K May 14 23:50 .. drwxr-xr-x 6 root root 4.0K Mar 19 04:59 1.0 lrwxrwxrwx 1 root root 3 Mar 19 05:08 latest -> 1.0 /opt/intel/oneapi/tensorflow/: total 12K drwxr-xr-x 3 root root 4.0K Mar 19 05:22 . drwxr-xr-x 45 root root 4.0K May 14 23:50 .. drwxr-xr-x 16 root root 4.0K Mar 19 05:25 2.13.0 lrwxrwxrwx 1 root root 6 Mar 19 05:22 latest -> 2.13.0 /opt/intel/oneapi/vtune/: total 12K drwxr-xr-x 3 root root 4.0K Mar 19 05:16 . drwxr-xr-x 45 root root 4.0K May 14 23:50 .. drwxr-xr-x 25 root root 4.0K Mar 19 05:04 2024.0 lrwxrwxrwx 1 root root 6 Mar 19 05:16 latest -> 2024.0 ```
My shell environment ```console sdp@university-of-tennessee-seelab:~/src/OSPRay-GPU-Texture-Problem$ env SHELL=/bin/bash TBBROOT=/opt/intel/oneapi/tbb/2021.12/env/.. COLORTERM=truecolor TERM_PROGRAM_VERSION=1.89.1 INSPECTOR_2023_DIR=/opt/intel/oneapi/inspector/2024.0 ONEAPI_ROOT=/opt/intel/oneapi CONDA_EXE=/opt/intel/oneapi/intelpython/python3.9/bin/conda _CE_M= PKG_CONFIG_PATH=/opt/intel/oneapi/compiler/2024.0/lib/pkgconfig:/opt/intel/oneapi/vtune/2024.0/include/pkgconfig/lib64:/opt/intel/oneapi/tbb/2021.12/env/../lib/pkgconfig:/opt/intel/oneapi/rkcommon/1.13/lib/pkgconfig:/opt/intel/oneapi/ospray/3.1/lib/pkgconfig:/opt/intel/oneapi/openvkl/2.0/lib/pkgconfig:/opt/intel/oneapi/openpgl/0.6/lib/pkgconfig:/opt/intel/oneapi/oidn/2.2/lib/pkgconfig:/opt/intel/oneapi/mpi/2021.12/lib/pkgconfig:/opt/intel/oneapi/mkl/2024.0/lib/pkgconfig:/opt/intel/oneapi/ippcp/2021.9/lib/pkgconfig:/opt/intel/oneapi/inspector/2024.0/include/pkgconfig/lib64:/opt/intel/oneapi/embree/4.3/lib/pkgconfig:/opt/intel/oneapi/dpl/2022.3/lib/pkgconfig:/opt/intel/oneapi/dnnl/2024.0/lib/pkgconfig:/opt/intel/oneapi/dal/2024.0/lib/pkgconfig:/opt/intel/oneapi/ccl/2021.11/lib/pkgconfig/:/opt/intel/oneapi/advisor/2024.0/include/pkgconfig/lib64: VT_MPI=impi4 ACL_BOARD_VENDOR_PATH=/opt/Intel/OpenCLFPGA/oneAPI/Boards FPGA_VARS_DIR=/opt/intel/oneapi/compiler/2024.0/opt/oclfpga CCL_ROOT=/opt/intel/oneapi/ccl/2021.11 VT_ADD_LIBS=-ldwarf -lelf -lvtunwind -lm -lpthread I_MPI_ROOT=/opt/intel/oneapi/mpi/2021.12 FI_PROVIDER_PATH=/opt/intel/oneapi/mpi/2021.12/opt/mpi/libfabric/lib/prov:/usr/lib/x86_64-linux-gnu/libfabric DNNLROOT=/opt/intel/oneapi/dnnl/2024.0 DIAGUTIL_PATH=/opt/intel/oneapi/compiler/2024.0/etc/compiler/sys_check/sys_check.sh:/opt/intel/oneapi/dpcpp-ct/2024.0/etc/dpct/sys_check/sys_check.sh:/opt/intel/oneapi/debugger/2024.0/etc/debugger/sys_check/sys_check.py ADVISOR_2024_DIR=/opt/intel/oneapi/advisor/2024.0 XML_CATALOG_FILES=file:///opt/intel/oneapi/intelpython/python3.9/etc/xml/catalog file:///etc/xml/catalog PWD=/home/sdp/src/OSPRay-GPU-Texture-Problem CCL_CONFIGURATION=cpu_gpu_dpcpp LOGNAME=sdp DPL_ROOT=/opt/intel/oneapi/dpl/2022.3 XDG_SESSION_TYPE=tty CONDA_PREFIX=/opt/intel/oneapi/intelpython/python3.9 MANPATH=/opt/intel/oneapi/compiler/2024.0/documentation/en/man/common:/opt/intel/oneapi/mpi/2021.12/share/man:/opt/intel/oneapi/itac/2022.0/man:/opt/intel/oneapi/embree/4.3/share/man:/opt/intel/oneapi/debugger/2024.0/share/man: OCL_ICD_VENDORS_RESET=1 VSCODE_GIT_ASKPASS_NODE=/home/sdp/.vscode-server/cli/servers/Stable-dc96b837cf6bb4af9cd736aa3af08cf8279f7685/server/node MOTD_SHOWN=pam HOME=/home/sdp GDB_INFO=/opt/intel/oneapi/debugger/2024.0/share/info/ CCL_CONFIGURATION_PATH= LANG=C.UTF-8 LS_COLORS=rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.webp=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36: SSL_CERT_DIR=/usr/lib/ssl/certs SETVARS_COMPLETED=1 CONDA_PROMPT_MODIFIER=(intelpython-python3.9) GIT_ASKPASS=/home/sdp/.vscode-server/cli/servers/Stable-dc96b837cf6bb4af9cd736aa3af08cf8279f7685/server/extensions/git/dist/askpass.sh APM=/opt/intel/oneapi/advisor/2024.0/perfmodels CMAKE_PREFIX_PATH=/opt/intel/oneapi/compiler/2024.0:/opt/intel/oneapi/tbb/2021.12/env/..:/opt/intel/oneapi/rkcommon/1.13/lib/cmake/rkcommon:/opt/intel/oneapi/ospray/3.1/lib/cmake/ospray:/opt/intel/oneapi/openvkl/2.0/lib/cmake/openvkl:/opt/intel/oneapi/openpgl/0.6/lib/cmake/openpgl:/opt/intel/oneapi/oidn/2.2/lib/cmake/OpenImageDenoise:/opt/intel/oneapi/mkl/2024.0/lib/cmake:/opt/intel/oneapi/ispc/1.23/lib/cmake/ispcrt:/opt/intel/oneapi/ipp/2021.10/lib/cmake/ipp:/opt/intel/oneapi/embree/4.3/lib/cmake/embree:/opt/intel/oneapi/dpl/2022.3/lib/cmake/oneDPL:/opt/intel/oneapi/dnnl/2024.0/lib/cmake:/opt/intel/oneapi/dal/2024.0 SSH_CONNECTION=100.64.17.4 55952 100.80.39.17 22 CMPLR_ROOT=/opt/intel/oneapi/compiler/2024.0 FPGA_VARS_ARGS= INFOPATH=/opt/intel/oneapi/debugger/2024.0/opt/debugger/lib VSCODE_GIT_ASKPASS_EXTRA_ARGS= IPPROOT=/opt/intel/oneapi/ipp/2021.10 IPP_TARGET_ARCH=intel64 LESSCLOSE=/usr/bin/lesspipe %s %s XDG_SESSION_CLASS=user PYTHONPATH=/opt/intel/oneapi/ospray_studio/1.0/lib:/opt/intel/oneapi/advisor/2024.0/pythonapi TERM=xterm-256color _CE_CONDA= VT_ROOT=/opt/intel/oneapi/itac/2022.0 DALROOT=/opt/intel/oneapi/dal/2024.0 LESSOPEN=| /usr/bin/lesspipe %s OCL_ICD_VENDORS=/opt/intel/oneapi/intelpython/python3.9/etc/OpenCL/vendors USER=sdp LIBRARY_PATH=/opt/intel/oneapi/compiler/2024.0/lib:/opt/intel/oneapi/tbb/2021.12/env/../lib/intel64/gcc4.8:/opt/intel/oneapi/mpi/2021.12/lib:/opt/intel/oneapi/mkl/2024.0/lib/:/opt/intel/oneapi/ippcp/2021.9/lib/:/opt/intel/oneapi/ipp/2021.10/lib:/opt/intel/oneapi/dpl/2022.3/lib:/opt/intel/oneapi/dnnl/2024.0/lib:/opt/intel/oneapi/dal/2024.0/lib:/opt/intel/oneapi/ccl/2021.11/lib/ DAL_MAJOR_BINARY=2 VSCODE_GIT_IPC_HANDLE=/run/user/1000/vscode-git-99922b0f3f.sock CONDA_SHLVL=1 IPPCRYPTOROOT=/opt/intel/oneapi/ippcp/2021.9 IPPCP_TARGET_ARCH=intel64 SHLVL=2 VTUNE_PROFILER_2024_DIR=/opt/intel/oneapi/vtune/2024.0 OCL_ICD_FILENAMES=libintelocl_emu.so:libalteracl.so:/opt/intel/oneapi/compiler/2024.0/lib/libintelocl.so XDG_SESSION_ID=1653 CLASSPATH=/opt/intel/oneapi/mpi/2021.12/share/java/mpi.jar CONDA_PYTHON_EXE=/opt/intel/oneapi/intelpython/python3.9/bin/python INTELFPGAOCLSDKROOT=/opt/intel/oneapi/compiler/2024.0/opt/oclfpga LD_LIBRARY_PATH=/opt/intel/oneapi/compiler/2024.0/opt/oclfpga/host/linux64/lib:/opt/intel/oneapi/compiler/2024.0/opt/compiler/lib:/opt/intel/oneapi/compiler/2024.0/lib:/opt/intel/oneapi/tbb/2021.12/env/../lib/intel64/gcc4.8:/opt/intel/oneapi/rkcommon/1.13/lib:/opt/intel/oneapi/ospray_studio/1.0/lib:/opt/intel/oneapi/ospray/3.1/lib:/opt/intel/oneapi/openvkl/2.0/lib:/opt/intel/oneapi/openpgl/0.6/lib:/opt/intel/oneapi/oidn/2.2/lib:/opt/intel/oneapi/mpi/2021.12/opt/mpi/libfabric/lib:/opt/intel/oneapi/mpi/2021.12/lib:/opt/intel/oneapi/mkl/2024.0/lib:/opt/intel/oneapi/itac/2022.0/slib:/opt/intel/oneapi/ispc/1.23/lib:/opt/intel/oneapi/ippcp/2021.9/lib/:/opt/intel/oneapi/ipp/2021.10/lib:/opt/intel/oneapi/embree/4.3/lib:/opt/intel/oneapi/dpl/2022.3/lib:/opt/intel/oneapi/dnnl/2024.0/lib:/opt/intel/oneapi/debugger/2024.0/opt/debugger/lib:/opt/intel/oneapi/dal/2024.0/lib:/opt/intel/oneapi/ccl/2021.11/lib/ VT_LIB_DIR=/opt/intel/oneapi/itac/2022.0/lib VTUNE_PROFILER_DIR=/opt/intel/oneapi/vtune/2024.0 XDG_RUNTIME_DIR=/run/user/1000 SSL_CERT_FILE=/usr/lib/ssl/certs/ca-certificates.crt SSH_CLIENT=100.64.17.4 55952 22 VT_SLIB_DIR=/opt/intel/oneapi/itac/2022.0/slib CONDA_DEFAULT_ENV=intelpython-python3.9 MKLROOT=/opt/intel/oneapi/mkl/2024.0 DAL_MINOR_BINARY=0 MODEL_ZOO_VERSION=2.12.0 VSCODE_GIT_ASKPASS_MAIN=/home/sdp/.vscode-server/cli/servers/Stable-dc96b837cf6bb4af9cd736aa3af08cf8279f7685/server/extensions/git/dist/askpass-main.js XDG_DATA_DIRS=/usr/local/share:/usr/share:/var/lib/snapd/desktop NLSPATH=/opt/intel/oneapi/compiler/2024.0/lib/locale/%l_%t/%N:/opt/intel/oneapi/mkl/2024.0/share/locale/%l_%t/%N: BROWSER=/home/sdp/.vscode-server/cli/servers/Stable-dc96b837cf6bb4af9cd736aa3af08cf8279f7685/server/bin/helpers/browser.sh PATH=/opt/intel/oneapi/compiler/2024.0/opt/oclfpga/bin:/opt/intel/oneapi/compiler/2024.0/bin:/opt/intel/oneapi/vtune/2024.0/bin64:/opt/intel/oneapi/ospray_studio/1.0/bin:/opt/intel/oneapi/ospray/3.1/bin:/opt/intel/oneapi/openvkl/2.0/bin:/opt/intel/oneapi/openpgl/0.6/bin:/opt/intel/oneapi/oidn/2.2/bin:/opt/intel/oneapi/mpi/2021.12/bin:/opt/intel/oneapi/mkl/2024.0/bin/:/opt/intel/oneapi/itac/2022.0/bin:/opt/intel/oneapi/ispc/1.23/bin:/opt/intel/oneapi/intelpython/python3.9/bin:/opt/intel/oneapi/inspector/2024.0/bin64:/opt/intel/oneapi/embree/4.3/bin:/opt/intel/oneapi/dpcpp-ct/2024.0/bin:/opt/intel/oneapi/dev-utilities/2024.0/bin:/opt/intel/oneapi/debugger/2024.0/opt/debugger/bin:/opt/intel/oneapi/advisor/2024.0/bin64:/home/sdp/.vscode-server/cli/servers/Stable-dc96b837cf6bb4af9cd736aa3af08cf8279f7685/server/bin/remote-cli:/home/sdp/.local/bin:/opt/conda/condabin:/home/sdp/.local/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin INTEL_PYTHONHOME=/opt/intel/oneapi/debugger/2024.0/opt/debugger DBUS_SESSION_BUS_ADDRESS=unix:path=/run/user/1000/bus INTEL_LICENSE_FILE=/opt/intel/licenses:/home/sdp/intel/licenses CPATH=/opt/intel/oneapi/compiler/2024.0/opt/oclfpga/include:/opt/intel/oneapi/tbb/2021.12/env/../include:/opt/intel/oneapi/mpi/2021.12/include:/opt/intel/oneapi/mkl/2024.0/include:/opt/intel/oneapi/ippcp/2021.9/include:/opt/intel/oneapi/ipp/2021.10/include:/opt/intel/oneapi/dpl/2022.3/include:/opt/intel/oneapi/dpcpp-ct/2024.0/include:/opt/intel/oneapi/dnnl/2024.0/include:/opt/intel/oneapi/dev-utilities/2024.0/include:/opt/intel/oneapi/dal/2024.0/include/dal:/opt/intel/oneapi/ccl/2021.11/include TERM_PROGRAM=vscode OCL_ICD_FILENAMES_RESET=1 VSCODE_IPC_HOOK_CLI=/run/user/1000/vscode-ipc-6b8f0324-2460-43e9-b26a-d28f80b85757.sock _=/usr/bin/env ```

2) Run the test.py script.

2a) Inside the script is a config variable, you can change it to change which test case to run.

2b) If the script is successful, it will create an image.png at the root of the repository.


cpu1 ![image](https://github.com/RenderKit/ospray/assets/1215969/99b381dd-552e-4da9-a7c9-05d0930ee3d2)
gpu1 ![image](https://github.com/RenderKit/ospray/assets/1215969/e25ed1d3-25ef-4ff6-95a6-35f9b13b6dd3)
cpu2 ![image](https://github.com/RenderKit/ospray/assets/1215969/dc75a5ac-8137-485c-83f1-b4242289fcb5)
gpu2 ![image](https://github.com/RenderKit/ospray/assets/1215969/c1a8dfc8-3110-4442-9ecb-00fce0b37932)
cpu16 ![image](https://github.com/RenderKit/ospray/assets/1215969/9d4a7f28-e1d2-4bdf-86c1-3771675ac0af)
gpu16 ![image](https://github.com/RenderKit/ospray/assets/1215969/9b477689-5334-4fba-80b9-34dab034702b)
cpu19 ![image](https://github.com/RenderKit/ospray/assets/1215969/631d7a64-aabf-4bc5-86af-ce046a256e11)
gpu19 ```console Thread 1 "python" received signal SIGSEGV, Segmentation fault. 0x00007fff54a1f550 in __intel_avx_rep_memcpy () from /opt/intel/oneapi/rkcommon/1.13/lib/librkcommon.so.1 (gdb) bt #0 0x00007fff54a1f550 in __intel_avx_rep_memcpy () from /opt/intel/oneapi/rkcommon/1.13/lib/librkcommon.so.1 #1 0x00007fff43328ec3 in ospray::Data::copy(ospray::Data const&, rkcommon::math::vec_t const&) () from /opt/intel/oneapi/ospray/3.1/lib/libospray_module_gpu.so.3.1.0 #2 0x00007fff54e138ac in ospCopyData () from /opt/intel/oneapi/ospray/3.1/lib/libospray.so ```
johguenther commented 4 months ago

Hi Tanner, nice to "see" you again :-)

  1. The initial image looks familiar. We fixed several issues related to textures on PVC in devel (soon v3.2), see e.g. 3692dd553e8181ca8c or 26de7347faa0dc6.
  2. I could not reproduce the crash with config=gpu19, but I was using the DPCPP-compiled v3.1 (not oneAPI). I also tried devel, which gives yet another result (see below), so this needs further investigation. The crash looks like access beyond the src array, could it be related to how the python wrappers use ospCopyData?
v3.1 devel
image-3 1 image-3 2 dev

Cheers, Johannes

player1537 commented 4 months ago

I'm happy to hear that several texture problems have been fixed! Hopefully that bodes well for the issue that I'm facing.

I'll have access to that Intel DevCloud machine again in a couple of weeks, so I'll be able to do some more testing then.

Once I get access again, what's the best way for me to test the newest versions? Should I plan to build OSPRay and friends myself, or is there a nightly-built artifact that you can share with me?