Our great sponsors
-
kokkos
Kokkos C++ Performance Portability Programming Ecosystem: The Programming Model - Parallel Execution and Memory Abstraction
-
InfluxDB
Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.
-
kokkos-kernels
Kokkos C++ Performance Portability Programming Ecosystem: Math Kernels - Provides BLAS, Sparse BLAS and Graph Kernels
-
WorkOS
The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.
I am the author of the Go CUDA libraries (https://github.com/gorgonia/cu)... and you can indeed wrap a CUDA memory and use it in cuBLAS in an object oriented way
It’s a work in progress, but Kokkos and the associated Kokkos Kernels are probably the closest thing to what you’re asking for.
It’s a work in progress, but Kokkos and the associated Kokkos Kernels are probably the closest thing to what you’re asking for.
The second one is stdBLAS by kokkos. It doesn't even use cuBLAS but it's a reference implementation of P1673. This paper describe what could be a blas API in the std. I would recommend trying to do something equivalent on your side.
The good thing here is that it heavily relies on mdpsan that is a multidimensional view that handle shape and strides. And kokkos provide a C++14 compatible implementation with a complete CUDA support.