CUDA для pytorch: CUDA C ++ поток и состояние - PullRequest
1 голос
/ 30 апреля 2019

Я пытаюсь следовать этому уроку и создать простое расширение c ++ с бэкэндом CUDA.
Моя реализация процессора, кажется, работает нормально.

У меня проблемы с поиском примеров и документации (кажется, что все постоянно меняется).

В частности,

  1. Я вижу, что функции 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 предоставляет эту информацию и как ее получить?

  2. state затем преобразуется в cudaStream_t stream = THCState_getCurrentStream(state);
    По какой-то причине THCState_getCurrentStream больше не определяется? Как я могу получить stream от моего state?

Я тоже пытался спросить на форуме pytorch - пока безрезультатно.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...