VC4CL
ArrayFire
VC4CL | ArrayFire | |
---|---|---|
6 | 6 | |
721 | 4,413 | |
- | 0.7% | |
0.0 | 7.1 | |
over 1 year ago | 29 days ago | |
C++ | C++ | |
MIT License | BSD 3-clause "New" or "Revised" License |
Stars - the number of stars that a project has on GitHub. Growth - month over month growth in stars.
Activity is a relative number indicating how actively a project is being developed. Recent commits have higher weight than older ones.
For example, an activity of 9.0 indicates that a project is amongst the top 10% of the most actively developed projects that we are tracking.
VC4CL
-
How to OpenCL on a raspberry Pi
There is a rough impl for the 3. https://github.com/doe300/VC4CL
-
Raspberry Pi Zero 2 for image processing.
The Zero 2 still uses VideoCore IV for which we have the documentation and various projects making use of it. There is a open source Mesa driver and also OpenCL support: https://github.com/doe300/VC4CL
- 2022 Mar 14 (Pi Day!) Stickied π ΅π °π & ππππππππ thread - Boot problems? Power supply problems? Display problems? Networking problems? Need ideas? Get help with these and other questions! π¨πΊπ² π―π¬πΉπ¬ ππ°πΉπΊπ»
-
How do I get OpenCL on a Raspberry Pi 1B?
Can't help more than a random repo I found showing its possible https://github.com/doe300/VC4CL
-
Zluda: CUDA on Intel GPUs
Excellent effort. Nvidia has become defacto GPGPU hardware vendor due to CUDA, but I wish it was OpenCL or other general API instead. Even Raspberry Pi's VideoCore has OpenCL support[1].
But a look at HW Acceleration support table at FFmpeg[2] shows why GPGPU Platform API is such a mess. But performance benefits are incredible, using VAAPI for FFmpeg to encode 1080p 2560x1080 screen capture at 60fps reduces CPU usage from 90% to 10% on a old corei5 with intel HD 3000; An old laptop could be perfectly used as an encoding machine for streaming just by using HW Acceleration.
What's funny is that the laptop also has Radeon HD 6490M with 1GB GDDR5 dedicated memory and it's not supported by VAAPI for encoding! Thereby proving the point that GPGPU API/Platform Support are astonishingly messy.
[1]https://github.com/doe300/VC4CL
[2]https://trac.ffmpeg.org/wiki/HWAccelIntro
ArrayFire
-
Learn WebGPU
Loads of people have stated why easy GPU interfaces are difficult to create, but we solve many difficult things all the time.
Ultimately I think CPUs are just satisfactory for the vast vast majority of workloads. Servers rarely come with any GPUs to speak of. The ecosystem around GPUs is unattractive. CPUs have SIMD instructions that can help. There are so many reasons not to use GPUs. By the time anyone seriously considers using GPUs they're, in my imagination, typically seriously starved for performance, and looking to control as much of the execution details as possible. GPU programmers don't want an automagic solution.
So I think the demand for easy GPU interfaces is just very weak, and therefore no effort has taken off. The amount of work needed to make it as easy to use as CPUs is massive, and the only reason anyone would even attempt to take this on is to lock you in to expensive hardware (see CUDA).
For a practical suggestion, have you taken a look at https://arrayfire.com/ ? It can run on both CUDA and OpenCL, and it has C++, Rust and Python bindings.
-
seeking C++ library for neural net inference, with cross platform GPU support
What about Arrayfire. https://github.com/arrayfire/arrayfire
-
[D] Deep Learning Framework for C++.
Low-overhead β not our goal, but Flashlight is on par with or outperforming most other ML/DL frameworks with its ArrayFire reference tensor implementation, especially on nonstandard setups where framework overhead matters
-
[D] Neural Networks using a generic GPU framework
Looking for frameworks with Julia + OpenCL I found array fire. It seems quite good, bonus points for rust bindings. I will keep looking for more, Julia completely fell off my radar.
- Windows 11 va bloquer les bidouilles qui facilitent l'emploi d'un navigateur alternatif Γ Edge
-
Arrayfire progressive performance decline?
Your Problem may be the lazy evaluation, see this issue: https://github.com/arrayfire/arrayfire/issues/1709