Как связать код хоста со статической библиотекой CUDA после раздельной компиляции?
Хорошо, у меня действительно тревожный вопрос CUDA 5.0 о том, как правильно связать вещи. Я'Буду очень благодарен за любую помощь!
Используя возможности раздельной компиляции CUDA 5.0, я создал статическую библиотеку (* .a). Это хорошо связывает с другими * .cu файлами при запуске через nvcc, я делал это много раз.
Теперь я хотел бы взять файл * .cpp и связать его с кодом хоста в этой статической библиотеке, используя g ++ или что-то еще, но не nvcc. Если я пытаюсь это сделать, я получаю ошибки компилятора, такие как
неопределенная ссылка на __cudaRegisterLinkedBinaryI '
м, используя оба-lcuda
а также-lcudart
и, насколько мне известно, библиотеки в правильном порядке (то есть-lmylib -lcuda -lcudart
). Я неНе думаю, что это проблема с этим. Может я'Я не прав, но я чувствую, чтоМне не хватает шага и что мне нужно сделать что-то еще с моей статической библиотекой (связывание устройства?), прежде чем я смогу использовать ее с g ++.
Я пропустил что-то важное? Это вообще возможно?
Дополнительный вопрос: я хочу, чтобы конечный результат был динамической библиотекой. Как мне этого добиться?