[Cin] OpenCL on CPU
Andrew Randrianasulu
randrianasulu at gmail.com
Thu Apr 24 18:54:30 CEST 2025
чт, 24 апр. 2025 г., 18:39 Andrew Randrianasulu <randrianasulu at gmail.com>:
> note, openCL is different to openGL, mostly being more about more accurate
> computations.
>
> On AMD FX4300, 32bit userspace but llvm probably uses avx?
>
>
> guest at slax:/dev/shm/mesa/BUILD$ RUSTICL_ENABLE=llvmpipe clpeak
>
> Platform: rusticl
> Device: llvmpipe (LLVM 20.1.3, 256 bits)
> Driver version : 25.2.0-devel (git-845611bb43) (Linux x86)
> Compute units : 8
> Clock frequency : 300 MHz
>
> Global memory bandwidth (GBPS)
> float : 3.72
> float2 : 4.08
> float4 : 3.59
> float8 : 2.81
> float16 : 2.09
>
> Single-precision compute (GFLOPS)
> float : 14.67
> float2 : 17.86
> float4 : 15.99
> float8 : 14.72
> float16 : 14.63
>
> No half precision support! Skipped
>
> No double precision support! Skipped
>
> Integer compute (GIOPS)
> int : 13.89
> int2 : 13.25
> int4 : 12.85
> int8 : 13.04
> int16 : 11.51
>
> Integer compute Fast 24bit (GIOPS)
> int : 13.65
> int2 : 13.29
> int4 : 13.23
> int8 : 12.90
> int16 : 11.08
>
> Transfer bandwidth (GBPS)
> enqueueWriteBuffer : 2.82
> enqueueReadBuffer : 1.08
> enqueueWriteBuffer non-blocking : 2.89
> enqueueReadBuffer non-blocking : 1.02
> enqueueMapBuffer(for read) : 1.15
> memcpy from mapped ptr : 3.02
> enqueueUnmap(after write) : 2.22
> memcpy to mapped ptr : 3.01
>
> Kernel launch latency : 21.55 us
>
> guest at slax:/dev/shm/mesa/BUILD$
>
> command to build somewhat minimal mesa (llvmpipe + amd):
>
>
> meson ../ --prefix=/usr/X11R7 --libdir=lib --strip --buildtype
> debugoptimized -Degl=enabled -Dosmesa=true -Dplatforms=x11
> -Dgallium-drivers=r600,radeonsi,llvmpipe -Dvulkan-drivers=amd,swrast
> -Dgallium-nine=true -Dgallium-va=enabled -Dgallium-xa=disabled
> -Dgallium-rusticl=true -Dllvm=enabled -Drust_std=2021 -Dvideo-codecs="all"
>
> of course you can set your own prefix ( I have X installed into
> non-default location).
>
> Biggest obstacle for me was that mesa git require some new llvm, and just
> released two days ago SPIRV-Tools-2024.4 !
>
> And github "release" is of course broken, in sense you need to manually
> fetch headers at specific commit.
>
> Of course "real gpu" will get like >200 GFLOPS , even my puny GF710 was
> that fast, but possibility of lock up makes this option less attractive ;)
>
but of course real ffmpeg command fail mysteriously:
RUSTICL_ENABLE=llvmpipe ffmpeg -init_hw_device opencl=ocl
-filter_hw_device ocl -i
~/K38_sdcard1/Documents/iPhone11_4K-recorder_59.940HDR10.mov -s 512:384 -r
10 -vf
"format=p010,hwupload,tonemap_opencl=tonemap=mobius:param=0.01:desat=0:r=tv:p=bt709:t=bt709:m=bt709:format=nv12,hwdownload,format=nv12"
-c:a copy -c:s copy -c:v libx264 -f mp4 /dev/null -debug verbose
ffmpeg: ../src/compiler/nir/nir_metadata.c:172:
nir_metadata_check_validation_flag: Assertion `!(impl->valid_metadata &
nir_metadata_not_properly_reset)' failed.
Aborted
>
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <https://lists.cinelerra-gg.org/pipermail/cin/attachments/20250424/c2a591b6/attachment.htm>
More information about the Cin
mailing list