Unifying Python/C++/CUDA memory: Python buffered array ↔️ `std::vector` ↔️ CUDA managed memory
OTHER License
Bot releases are visible (Hide)
Published by amypad-bot over 3 years ago
clang
builds (#11)Published by amypad-bot over 3 years ago
Published by amypad-bot over 3 years ago
__half
/e
optionalPublished by amypad-bot over 3 years ago
SwigCuVec<T>
swvec.i
) & example (example_swig.i
) modulesPublished by amypad-bot over 3 years ago
cuvec.i
(#7)example_swig
example_mod
#include
s
Published by amypad-bot over 3 years ago
__cuda_array_interface__
(#4)Published by amypad-bot over 3 years ago
asarray
not copying on ndarray.view(CuVec)
(#2)Published by amypad-bot over 3 years ago
float16
/__half
/'e'
) (#1)asarray
memcopy on raw objects#include "cuvec.cuh"
typecodes
asarray
testsPublished by amypad-bot almost 4 years ago
asarray
equivalent
Published by amypad-bot almost 4 years ago
Published by amypad-bot almost 4 years ago
__init__
keywordsCUVEC_DEBUG
flag (default: OFF
)add_compile_definitions
pytest
asarray
implementationPublished by amypad-bot almost 4 years ago
asarray
convenience for wrapping external librariesPublished by amypad-bot almost 4 years ago
Published by amypad-bot almost 4 years ago
numpy
-like functionality
cuvec.from_numpy()
=> cuvec.copy()
cuvec.zeros()
and cuvec.copy()
return numpy.ndarray
-like objectsPublished by casperdcl almost 4 years ago
Initial proof of concept.
Published by amypad-bot almost 4 years ago
Unifying Python/C++/CUDA memory: Python buffered array <-> C++11 std::vector
<-> CUDA managed memory.
zeros
from_numpy
CuVec<T>
with identical interface as std::vector<T>
PyObject *
)
PyCuVec<T> *PyCuVec_zeros(std::vector<Py_ssize_t> shape);
PyCuVec<T> *PyCuVec_zeros_like(PyCuVec<T> *other);
PyCuVec<T> *PyCuVec_deepcopy(PyCuVec<T> *other);
sdist
Requires a C++11 compiler, CUDA compiler, and an NVIDIA GPU with compute capability 3.5 or greater.
Python functionality requires Python 3.6 or greater.