ispc: Tests fail on FreeBSD with return code -11

ISPC tests fail on FreeBSD:

Running 8 jobs in parallel. Running 1543 tests.
Test ./tests/test-24.ispc failed (return code -11)                    
Test ./tests/typedef-4.ispc failed (return code -11)                  
Test ./tests/gather-int32-4.ispc failed (return code -11)             
Test ./tests/int64-min-1.ispc failed (return code -11)                
Test ./tests/cfor-test-77.ispc failed (return code -11)               
Test ./tests/funcptr-uniform-4.ispc failed (return code -11)            
Test ./tests/local-atomics-6.ispc failed (return code -11)            
Test ./tests/padds-i16.ispc failed (return code -11)                  

Version: 1.17.0 FreeBSD 13

About this issue

  • Original URL
  • State: closed
  • Created 2 years ago
  • Reactions: 1
  • Comments: 18

Most upvoted comments

There’s the L0 port:

$ pkg search level-zero
level-zero-1.7.9               oneAPI Level Zero Specification Headers and Loader

and there are compute-runtime ports:

$ pkg search compute-runtime 
intel-compute-runtime-llvm11-22.04.22286 OpenCL implementation for Intel HD 5000 (Gen8) or newer
intel-compute-runtime-llvm12-22.04.22286 OpenCL implementation for Intel HD 5000 (Gen8) or newer

Closing this issue as resolved based on Dmitry’s comment.

I was poking at Xe support on FreeBSD and figured out that it’s a bit more changes than just changing a few switches. And at this point I would say I very reluctant to finalize and commit this, as I really don’t know how this will work and I have no way to test it end-to-end.

I suggest asking a customer what is the use for ISPC with Xe support. We don’t have too many customers for Xe targets at this point. The feature is being actively developed and many things are unstable. If the customer wants to build “just in case”, we should not support that. Anyway, we will not be able to fix any FreeBSD specific bugs related to Xe at this point.

This means you are building LLVM on your own, instead of using recommended way (using our alloy.py script and hence applying all recommended patches and recommended options).

To fix that, you need to either enabled ARM backend in LLVM (adding to LLVM’s CMake -DLLVM_TARGETS_TO_BUILD=AArch64;ARM) or disabling ARM backend in ISPC (ISPC’s CMake switch -DARM_ENABLED=OFF).

There’s also this regression with the above patches.

XE_ENABLED option doesn’t have to be enabled, but at the same time it could be buildable.