Как реализовать SM-разделение для библиотек CUDA (CUBLAS/CUFFT)

Я пытаюсь реализовать разделение SM для библиотек поставщиков cuda. Возможным решением для этого является использование привязки к графическому процессору, вызывая API-интерфейс драйвера cuda.cuCtxCreate_v3как это. Однако библиотеки поставщиков имеют для них собственные контексты и дескрипторы. Если яcuCtxSetCurrentконтекст со сходством, а затемcublasCreate(&handle), будет ошибка сегментации. Как я могу использовать функцию сходства для контекстов библиотек этих поставщиков? Можно ли «привязать» контекст к другому? Или есть другие решения для достижения изоляции SM для библиотек cuda?

Кстати, для этого я провел несколько экспериментов, чтобы выяснить, как cublas вызывает API драйвера cuda. После подключения API я не нашел никаких доказательств того, что функции cublas (например, cublasGemmEx) будут вызыватьcuLaunchKernel(я считаю, что каждый вызов ядра в конечном итоге сводится к вызову API драйвера). Так как же cublas манипулирует API-интерфейсами драйверов?

0 ответов

Другие вопросы по тегам