distribution icon indicating copy to clipboard operation
distribution copied to clipboard

[Enhancement request] Enable RUSTICL in Mesa

Open original-tinozza opened this issue 3 years ago • 6 comments

Hi there Clear Linux Team,

considering CLR is aggressively following the release cadence of MESA may it be possible to start building the whole package with RUSTICL enabled?

gallium-rusticl = true

The new OpenCL implementation in Rust is starting to get interesting and quite usable.

Thanks in advance :)

original-tinozza avatar Oct 22 '22 09:10 original-tinozza

Hi there again, since Clearlinux switched to mesa 22.3 starting from version 37610, is there the possibility to enable the Rusticl driver? I'm religiously following the github repo for the mesa package but the driver enabling switch gallium-rusticl = true is still missing.

As always, many thanks in advance

original-tinozza avatar Dec 01 '22 16:12 original-tinozza

Poking the package now.

bryteise avatar Dec 01 '22 16:12 bryteise

Ah quite a bit of work in the llvm space still needed to get this building.

bryteise avatar Dec 01 '22 18:12 bryteise

Looks like it requires bindgen and they don't make releases with dependencies vendored so probably not something I'll be adding at this time.

bryteise avatar Dec 01 '22 21:12 bryteise

Thanks a lot for the effort Mr. Douglas. That is a really unfortunate, but i would like to thank you anyway for the effort.

Thanks again :)

original-tinozza avatar Dec 02 '22 08:12 original-tinozza

So why don't just cargo install --force bindgen-cli in build prepare stage ?

inferrna avatar Dec 20 '23 09:12 inferrna

the latest release works great!

clinfo Number of platforms 2 Platform Name Clover Platform Vendor Mesa Platform Version OpenCL 1.1 Mesa 24.3.0-devel Platform Profile FULL_PROFILE Platform Extensions cl_khr_icd Platform Extensions function suffix MESA

Platform Name rusticl Platform Vendor Mesa/X.org Platform Version OpenCL 3.0 Platform Profile FULL_PROFILE Platform Extensions cl_khr_byte_addressable_store cl_khr_create_command_queue cl_khr_expect_assume cl_khr_extended_versioning cl_khr_icd cl_khr_il_program cl_khr_spirv_no_integer_wrap_decoration cl_khr_suggested_local_work_size Platform Extensions with Version cl_khr_byte_addressable_store 0x400000 (1.0.0) cl_khr_create_command_queue 0x400000 (1.0.0) cl_khr_expect_assume 0x400000 (1.0.0) cl_khr_extended_versioning 0x400000 (1.0.0) cl_khr_icd 0x400000 (1.0.0) cl_khr_il_program 0x400000 (1.0.0) cl_khr_spirv_no_integer_wrap_decoration 0x400000 (1.0.0) cl_khr_suggested_local_work_size 0x400000 (1.0.0) Platform Numeric Version 0xc00000 (3.0.0) Platform Extensions function suffix MESA Platform Host timer resolution 1ns

Platform Name Clover Number of devices 1 Device Name AMD Radeon Graphics (radeonsi, raphael_mendocino, LLVM 19.1.1, DRM 3.57, 6.10.12-1467.native) Device Vendor AMD Device Vendor ID 0x1002 Device Version OpenCL 1.1 Mesa 24.3.0-devel Device Numeric Version 0x401000 (1.1.0) Driver Version 24.3.0-devel Device OpenCL C Version OpenCL C 1.1 Device OpenCL C Numeric Version 0x401000 (1.1.0) Device Type GPU Device Profile FULL_PROFILE Device Available Yes Compiler Available Yes Max compute units 2 Max clock frequency 2200MHz Max work item dimensions 3 Max work item sizes 256x256x256 Max work group size 256 === CL_PROGRAM_BUILD_LOG === fatal error: cannot open file '/usr/lib64/clc/gfx1036-amdgcn-mesa-mesa3d.bc': No such file or directory Preferred work group size multiple (kernel) <getWGsizes:1980: create kernel : error -46> Preferred / native vector sizes char 16 / 16 short 8 / 8 int 4 / 4 long 2 / 2 half 0 / 0 (n/a) float 4 / 4 double 2 / 2 (cl_khr_fp64) Half-precision Floating-point support (n/a) Single-precision Floating-point support (core) Denormals No Infinity and NANs Yes Round to nearest Yes Round to zero No Round to infinity No IEEE754-2008 fused multiply-add No Support is emulated in software No Correctly-rounded divide and sqrt operations No Double-precision Floating-point support (cl_khr_fp64) Denormals Yes Infinity and NANs Yes Round to nearest Yes Round to zero Yes Round to infinity Yes IEEE754-2008 fused multiply-add Yes Support is emulated in software No Address bits 64, Little-Endian Global memory size 16349184000 (15.23GiB) Error Correction support No Max memory allocation 4087296000 (3.807GiB) Unified memory for Host and Device No Minimum alignment for any data type 128 bytes Alignment of base address 32768 bits (4096 bytes) Global Memory cache type None Image support No Local memory type Local Local memory size 65536 (64KiB) Max number of constant args 16 Max constant buffer size 67108864 (64MiB) Max size of kernel argument 1024 Queue properties Out-of-order execution No Profiling Yes Profiling timer resolution 0ns Execution capabilities Run OpenCL kernels Yes Run native kernels No ILs with version (n/a) Built-in kernels with version (n/a) Device Extensions cl_khr_byte_addressable_store cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_int64_base_atomics cl_khr_int64_extended_atomics cl_khr_fp64 cl_khr_extended_versioning Device Extensions with Version cl_khr_byte_addressable_store 0x400000 (1.0.0) cl_khr_global_int32_base_atomics 0x400000 (1.0.0) cl_khr_global_int32_extended_atomics 0x400000 (1.0.0) cl_khr_local_int32_base_atomics 0x400000 (1.0.0) cl_khr_local_int32_extended_atomics 0x400000 (1.0.0) cl_khr_int64_base_atomics 0x400000 (1.0.0) cl_khr_int64_extended_atomics 0x400000 (1.0.0) cl_khr_fp64 0x400000 (1.0.0) cl_khr_extended_versioning 0x400000 (1.0.0)

Platform Name rusticl Number of devices 0

NULL platform behavior clGetPlatformInfo(NULL, CL_PLATFORM_NAME, ...) Clover clGetDeviceIDs(NULL, CL_DEVICE_TYPE_ALL, ...) Success [MESA] clCreateContext(NULL, ...) [default] Success [MESA] clCreateContext(NULL, ...) [other] <error: no devices in non-default plaforms> clCreateContextFromType(NULL, CL_DEVICE_TYPE_DEFAULT) Success (1) Platform Name Clover Device Name AMD Radeon Graphics (radeonsi, raphael_mendocino, LLVM 19.1.1, DRM 3.57, 6.10.12-1467.native) clCreateContextFromType(NULL, CL_DEVICE_TYPE_CPU) No devices found in platform clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU) Success (1) Platform Name Clover Device Name AMD Radeon Graphics (radeonsi, raphael_mendocino, LLVM 19.1.1, DRM 3.57, 6.10.12-1467.native) clCreateContextFromType(NULL, CL_DEVICE_TYPE_ACCELERATOR) No devices found in platform clCreateContextFromType(NULL, CL_DEVICE_TYPE_CUSTOM) No devices found in platform clCreateContextFromType(NULL, CL_DEVICE_TYPE_ALL) Success (1) Platform Name Clover Device Name AMD Radeon Graphics (radeonsi, raphael_mendocino, LLVM 19.1.1, DRM 3.57, 6.10.12-1467.native)

ICD loader properties ICD loader Name OpenCL ICD Loader ICD loader Vendor OCL Icd free software ICD loader Version 2.3.2 ICD loader Profile OpenCL 3.0

ahorek avatar Oct 16 '24 15:10 ahorek