ArrayFire
corrosion
Our great sponsors
ArrayFire | corrosion | |
---|---|---|
6 | 5 | |
4,404 | 948 | |
1.2% | 6.0% | |
7.8 | 8.2 | |
24 days ago | 2 days ago | |
C++ | CMake | |
BSD 3-clause "New" or "Revised" License | MIT 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.
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
corrosion
-
Learn WebGPU
With reference to the section on how difficult it is to build wpgu-native and how you basically have to use a precompiled binary, there appears to be an easier way to integrate a Cargo library into a CMake project: https://github.com/corrosion-rs/corrosion
-
Lust 🦞
Already taken as a name https://github.com/corrosion-rs/corrosion
-
Advice on build system approach choice for a Rust + Fortran project?
Corrosion can help with option 1, cmake with option 2. You are on your own with option 3, so I would stay away from that.
-
Having to work with C++ made me appreciate how good Rust is.
Or you can just use one of the many solutions others have already come up with, like this cmake project I found with a minute of googling: https://github.com/corrosion-rs/corrosion
-
[Problem] Adding rust in a CMake/Cpp project using Cxx and Corrosion linker iterator debug level issue
Tools that seems reasonable to help this integration is Corrosion and Cxx.
What are some alternatives?
Thrust - [ARCHIVED] The C++ parallel algorithms library. See https://github.com/NVIDIA/cccl
cmake-d - cmake for D2
Boost.Compute - A C++ GPU Computing Library for OpenCL
cxx - Safe interop between Rust and C++
VexCL - VexCL is a C++ vector expression template library for OpenCL/CUDA/OpenMP
rusty_cmake - Rust cmake integration template with corrosion and cxx
Pytorch - Tensors and Dynamic neural networks in Python with strong GPU acceleration
conan - Conan - The open-source C and C++ package manager
CUB - THIS REPOSITORY HAS MOVED TO github.com/nvidia/cub, WHICH IS AUTOMATICALLY MIRRORED HERE.
vcpkg_template - Simple cmkr template to get you started with vcpkg right away.
Taskflow - A General-purpose Parallel and Heterogeneous Task Programming System
bake - Bake, A build system for building, testing and running C & C++ projects