Совместное использование базовых данных между несколькими векторами cuSPARSE (API CUDA 12) ⇐ C++
Совместное использование базовых данных между несколькими векторами cuSPARSE (API CUDA 12)
Библиотека разреженной линейной алгебры NVIDIA CUDA, cuSPARSE, имеет новый API, который использует cusparseSpSV_solve для решения системы уравнений ([A][x]= ), где [A] — треугольная матрица. В старом API была функция под названием cusparseDcsrsv_solve (больше не поддерживается в CUDA 12), которая имела простые массивы, выделяемые устройством для векторных входных данных. Новая функция cusparseDcsrsv_solve использует объекты CUDA для организации данных.
Это фрагмент из новейшей документации CUDA 12.3 cuSPARSE:
cusparseSpSV_solve(дескриптор cusparseHandle_t, cusparseOperation_t опА, константная пустота* альфа, cusparseConstSpMatDescr_t matA, // поддерживается неконстантный дескриптор cusparseConstDnVecDescr_t vecX, // поддерживается неконстантный дескриптор cusparseDnVecDescr_t vecY, cudaDataType ComputeType, cusparseSpSVAlg_t alg, cusparseSpSVDescr_t spsvDescr) Выше показаны параметры для cusparseSpSV_solve. Векторы больше не полагаются на простые массивы данных (такие как double*), а теперь используют cusparseConstDnVecDescr_t для правого вектора и непостоянный cusparseDnVecDescr_t для вектора решения.
Если у меня есть несколько функций cusparseSpSV_solve в последовательности, как мне использовать вектор решения из первого cusparseSpSV_solve в качестве вектора правой части для второго < code>cusparseSpSV_solve и так далее...? Раньше вы просто передавали указатель от функции 1 к функции 2, но возможно ли это сделать с помощью нового API? Есть ли какая-либо опасность в назначении данных, выделенных устройством, нескольким объектам cusparseDnVecDescr_t, при этом достигается тот же эффект, что и при передаче указателей из одной функции в другую?
Я хочу избежать создания, копирования и уничтожения новых данных! Это отнимает слишком много времени, и кажется странным, что разработчики NVIDIA изменили API в худшую сторону. Итак, я ищу простой способ обмена данными между несколькими функциями cusparseSpSV_solve.
Библиотека разреженной линейной алгебры NVIDIA CUDA, cuSPARSE, имеет новый API, который использует cusparseSpSV_solve для решения системы уравнений ([A][x]= ), где [A] — треугольная матрица. В старом API была функция под названием cusparseDcsrsv_solve (больше не поддерживается в CUDA 12), которая имела простые массивы, выделяемые устройством для векторных входных данных. Новая функция cusparseDcsrsv_solve использует объекты CUDA для организации данных.
Это фрагмент из новейшей документации CUDA 12.3 cuSPARSE:
cusparseSpSV_solve(дескриптор cusparseHandle_t, cusparseOperation_t опА, константная пустота* альфа, cusparseConstSpMatDescr_t matA, // поддерживается неконстантный дескриптор cusparseConstDnVecDescr_t vecX, // поддерживается неконстантный дескриптор cusparseDnVecDescr_t vecY, cudaDataType ComputeType, cusparseSpSVAlg_t alg, cusparseSpSVDescr_t spsvDescr) Выше показаны параметры для cusparseSpSV_solve. Векторы больше не полагаются на простые массивы данных (такие как double*), а теперь используют cusparseConstDnVecDescr_t для правого вектора и непостоянный cusparseDnVecDescr_t для вектора решения.
Если у меня есть несколько функций cusparseSpSV_solve в последовательности, как мне использовать вектор решения из первого cusparseSpSV_solve в качестве вектора правой части для второго < code>cusparseSpSV_solve и так далее...? Раньше вы просто передавали указатель от функции 1 к функции 2, но возможно ли это сделать с помощью нового API? Есть ли какая-либо опасность в назначении данных, выделенных устройством, нескольким объектам cusparseDnVecDescr_t, при этом достигается тот же эффект, что и при передаче указателей из одной функции в другую?
Я хочу избежать создания, копирования и уничтожения новых данных! Это отнимает слишком много времени, и кажется странным, что разработчики NVIDIA изменили API в худшую сторону. Итак, я ищу простой способ обмена данными между несколькими функциями cusparseSpSV_solve.
-
- Похожие темы
- Ответы
- Просмотры
- Последнее сообщение
-
-
Совместное использование констант между процессором и графическим процессором в CUDA
Anonymous » » в форуме C++ - 0 Ответы
- 6 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Совместное использование констант между процессором и графическим процессором в CUDA
Anonymous » » в форуме C++ - 0 Ответы
- 6 Просмотры
-
Последнее сообщение Anonymous
-
-
-
Совместное использование констант между процессором и графическим процессором в CUDA
Anonymous » » в форуме C++ - 0 Ответы
- 7 Просмотры
-
Последнее сообщение Anonymous
-
-
-
CUDA ON DEBIAN TRIXIE: версия драйвера CUDA недостаточно для версии времени выполнения CUDA
Anonymous » » в форуме Linux - 0 Ответы
- 6 Просмотры
-
Последнее сообщение Anonymous
-