[Pkg-opencl-devel] Bug#1059511: pocl: FTBFS on riscv64: testsuite fails: can't link double-float modules with soft-float modules

Bo YU tsu.yubo at gmail.com
Thu Jan 18 07:41:16 GMT 2024


Source: pocl
Version: 5.0-1
Followup-For: Bug #1059511

I cost some time to try to fix the issue, progress is below.

Inspired by the commit:
https://github.com/pocl/pocl/issues/1088#issue-1340373438

If i build pocl by manual if follow:

```
cmake .. 
     -DCMAKE_INSTALL_PREFIX='/usr'         
     -DCMAKE_BUILD_TYPE='Debug'         
     -DPOCL_DEBUG_MESSAGES=ON        
     -DLLC_HOST_CPU='sifive-u54'
```

Then there are four test failed:

```
98% tests passed, 4 tests failed out of 263

Label Time Summary:
EinsteinToolkit    = 190.88 sec*proc (2 tests)
cuda               = 279.87 sec*proc (42 tests)
dlopen             =   0.52 sec*proc (3 tests)
hsa                =  35.00 sec*proc (4 tests)
hsa-native         = 1127.40 sec*proc (82 tests)
internal           = 3317.43 sec*proc (256 tests)
kernel             = 1719.95 sec*proc (76 tests)
level0             = 1446.25 sec*proc (124 tests)
matrix             =  40.41 sec*proc (4 tests)
poclbin            =  38.95 sec*proc (4 tests)
proxy              = 327.09 sec*proc (36 tests)
regression         = 933.17 sec*proc (95 tests)
runtime            = 179.38 sec*proc (31 tests)
tce                =  69.97 sec*proc (9 tests)
vulkan             = 176.65 sec*proc (26 tests)
workgroup          = 472.82 sec*proc (31 tests)

Total Test time (real) = 3791.39 sec

The following tests did not run:
         62 - kernel/test_shuffle_half_loopvec (Skipped)
         63 - kernel/test_shuffle_half_cbs (Skipped)
        190 - runtime/clGetKernelArgInfo (Disabled)
        199 - runtime/test_buffer_migration (Skipped)
        200 - runtime/test_buffer_ping_pong (Skipped)

The following tests FAILED:
         76 - kernel/test_printf_vectors_loopvec (Failed)
         77 - kernel/test_printf_vectors_cbs (Failed)
         78 - kernel/test_printf_vectors_ulongn_loopvec (Failed)
         79 - kernel/test_printf_vectors_ulongn_cbs (Failed)
Errors while running CTest
```

Obviously these tests failed was due to vectors missing from riscv64
now. This is expected I think.

The result is aligned with pocl upstream support riscv64:

```
In this release we improved support for RISC-V CPUs. We tested PoCL on a Starfive VisionFive 2 using a Ubuntu 23.10 preinstalled image. With LLVM 17 and GCC 13.2, 98% tests pass (only 4 tests fail out of 253).

```
http://portablecl.org/docs/html/notes_5_0.html#risc-v-cpu-support-improved

If glance at the buildd log from riscv64:

```
-- udivmodti4 compiles without extra flags
-- Checking if LLVM is a DEBUG build
-- DEBUG build
-- Find out LLC target triple (for host riscv64-unknown-linux-gnu)
-- Find out LLC host CPU with /usr/bin/llc-15
-- Autodetected CPU sifive-u74 overridden by user to GENERIC
-- Checking clang -march vs. -mcpu flag
--   Using -None=
-- Running LLVM link test
-- LLVM link test OK
```
https://buildd.debian.org/status/fetch.php?pkg=pocl&arch=riscv64&ver=5.0-1&stamp=1704805199&raw=0

So I suspect the `LLC_HOST_CPU='` was overriden by `GENERIC` then the
ABI was different. I will look at this more deeper.

-- 
Regards,
--
  Bo YU

-------------- next part --------------
A non-text attachment was scrubbed...
Name: signature.asc
Type: application/pgp-signature
Size: 833 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/pkg-opencl-devel/attachments/20240118/db2167fc/attachment.sig>


More information about the Pkg-opencl-devel mailing list