LINUX.ORG.RU

попытка начать программирование на C++ под CUDA

 


0

1

скажи форум может ли компилятор nvcc компилировать программы без их Nvidia драйвера? сейчас установлен nouveau. мне кажется что тестовая самописная программа для сложения чисел на divice функции точнее на ядре, не отрабатывает по этой причине. прав я или нет? на видеокарточке cuda ядра есть. есть кто в этом хорошо разбирается?


Для сборки обычно не нужна, но сборочный скрипт уже может требовать, для сборки под конкретную карточку или поколение. А вот запуск уже логично требует поддерживающую Cuda карту (или подсунутый обработчик-транслятор в, например, OpenMP, в случае наличия оной обертки вокруг бинарника).

ac130kz ★★
()
Ответ на: комментарий от ac130kz

карточка старенькая, куплена еще в 2017 году, GT710. 190 ядер cuda по характеристикам. я только так и не понял, на nouveau драйвере может работать программа собранная nvcc? программка простая до нельзя, там нет ошибок, а вот ядро(функция) не выполняется. в драйвере может быть причина этому?

a1b2c3
() автор топика
Ответ на: комментарий от a1b2c3

CUDA будет работать только с проприетарным драйвером. Скорее всего, программа, собранная nvcc использует CUDA-библиотеки. Собрать можно и без CUDA, запускать можно только с поддержкой CUDA.

HerbertHoover
()
Ответ на: комментарий от HerbertHoover

CUDA будет работать только с проприетарным драйвером

скажите, я правильно понимаю, что если бы написал модуль для ядра линукс который должен был бы выполнится на GPU точнее на CUDA ядрах при запуске ядра до старта драйвера GPU то ничего бы неполучилось. или все же это возможно?

a1b2c3
() автор топика
Ответ на: комментарий от a1b2c3

Нет, это так не работает. GPU это отдельное вычислительное устройство. Чтобы GPU выполнил какую-то работу, основной компьютер должен подготовить данные и исполняемый код в том виде, которые будут понятны конкретному GPU, загрузить их в GPU, дать команду на исполнение, дождаться окончания работы. Теоретически это может выполнить самописный модуль ядра. Но исполнение не перепрыгнет волшебным образом на GPU. Код модуля ядра продолжит исполняться на CPU. На GPU будет исполняться подготовленная для него отдельная программа.

i-rinat ★★★★★
()
Ответ на: комментарий от naushniki

при чем тут это? твой коммент был бы уместнее в темах кто хочет писать ядро на расте. а так их nvcc поддерживает C/C++ я лишь не учел что у нас как всегда возьмут прицел на поддержку в ядре какой-нибудь хрени которая совсем никому не не нужна и будет использоваться только 3 калеками, а что-то что моглобы повысить производительность системы в целом будет просто откинуто и забыто . вобще мне нравится подход тех товарищей которые юзают карточки от nvidia и это кошерно, а вот пытаться задействовать в ней cuda ядра нельзя, потому что там все типа попритарно! тогда как nouveau? и почему-то продукции интел в ядре отведено особое место они туда что хотят то и суют, при этом открытостью о которой вы так все печетесь они не отличаются.

a1b2c3
() автор топика
Ответ на: комментарий от a1b2c3

и как подтверждение тупости всего происходящего, в 14 поколениях интеловских CPU если появится NPU то умные линуксоиды его как и все остальное, что могло бы дать толк, просто не задействуют! это явно диагноз.

a1b2c3
() автор топика