Я пытаюсь следовать этому уроку и создать простое расширение c ++ с бэкэндом CUDA.
Моя реализация процессора, кажется, работает нормально.
У меня проблемы с поиском примеров и документации (кажется, что все постоянно меняется).
В частности,
Я вижу, что функции Pytorch CUDA получают аргумент THCState *state
- откуда этот аргумент? Как я могу получить state
для моей функции?
Например, в cuda реализация tensor.cat
:
void THCTensor_(cat)(THCState *state, THCTensor *result, THCTensor *ta, THCTensor *tb, int dimension)
Однако, когда вы вызываете tensor.cat()
из python, никто не предоставляет аргумента state
, pytorch предоставляет его «за сценой». Как pytorch предоставляет эту информацию и как ее получить?
state
затем преобразуется в cudaStream_t stream = THCState_getCurrentStream(state);
По какой-то причине THCState_getCurrentStream
больше не определяется? Как я могу получить stream
от моего state
?
Я тоже пытался спросить на форуме pytorch - пока безрезультатно.