## current - `cuvec.cuvec`: at compile time, use `cudaMallocManaged/cudaFree` if available, otherwise use `malloc/free` + at runtime, people with NVIDIA GPUs are forced to allocate memory on their device ## proposed - `cuvec.cuvec_cpu`: uses `malloc/free` - `cuvec.cuvec_cuda`: if available, use `cudaMallocManaged/cudaFree`, otherwise `ImportError` - `cuvec.cuvec`: point to one of the above
current
cuvec.cuvec: at compile time, usecudaMallocManaged/cudaFreeif available, otherwise usemalloc/freeproposed
cuvec.cuvec_cpu: usesmalloc/freecuvec.cuvec_cuda: if available, usecudaMallocManaged/cudaFree, otherwiseImportErrorcuvec.cuvec: point to one of the above