Size: a a a

AI / Big Data / Machine Learning

2019 December 20

PK

Petr Kurapov in AI / Big Data / Machine Learning
Отладчик то непростой нужен :) как минимум питоновские экстеншены(это я про gdb), а про куду я не в курсе, но я так понимаю что не получится. Исходники есть, да
источник

AS

Alex Surname in AI / Big Data / Machine Learning
на уровне куды можно видеть только вызовы ядра
источник

PK

Petr Kurapov in AI / Big Data / Machine Learning
Прям из gdb как вызовы драйвера, правильно?
источник

AS

Alex Surname in AI / Big Data / Machine Learning
что такое вызов драйвера?
источник

AS

Alex Surname in AI / Big Data / Machine Learning
вы знаете что такое kernel  втерминологии CUDA?
источник

PK

Petr Kurapov in AI / Big Data / Machine Learning
Да, я про диспатч кернела. Это же обращение к рантайму, а там уже джит и так далее
источник

AS

Alex Surname in AI / Big Data / Machine Learning
причем здесь джит
источник

AS

Alex Surname in AI / Big Data / Machine Learning
драйвер имеет разную архитектуру, в том числе его часть может быть в юзерспейсе
источник

AS

Alex Surname in AI / Big Data / Machine Learning
это вы конечно увидите в гдб
источник

PK

Petr Kurapov in AI / Big Data / Machine Learning
Джит ни при чем, да. Меня только юзер код интересует
источник

PK

Petr Kurapov in AI / Big Data / Machine Learning
Но хочется зайти в код на cuda сразу, если это возможно
источник

AS

Alex Surname in AI / Big Data / Machine Learning
есть в куда такое понятия как кернел, это единственные функции которые могут быть вызваны из юзер спейса, все функции которые вызывает кернел внутри себя они вообще не видны как функции и соответственно не видны
источник

AS

Alex Surname in AI / Big Data / Machine Learning
@cuda.jit
def increment_by_one(an_array):
   """
   Increment all array elements by one.
   """
   # code elided here; read further for different implementations
источник

AS

Alex Surname in AI / Big Data / Machine Learning
пример ядра, все функции которые вызываются внутри increment_by_one обрабатываюся внутри в GPU в своем формате, и вообще не видны извне как функции
источник

AS

Alex Surname in AI / Big Data / Machine Learning
по крайней мере на уровне С кода
источник

PK

Petr Kurapov in AI / Big Data / Machine Learning
Это все понятно, но не означает что я не могу трассировать исполнение на графической карте, в том числе, неэкспортируемые функции в каком-то виде (теоретически)
источник

PK

Petr Kurapov in AI / Big Data / Machine Learning
И я понимаю что это непростая задача на практике. Собственно надеюсь, вдруг что-то уже существует на эту тему :)
источник

AS

Alex Surname in AI / Big Data / Machine Learning
Petr Kurapov
Это все понятно, но не означает что я не могу трассировать исполнение на графической карте, в том числе, неэкспортируемые функции в каком-то виде (теоретически)
думаю практически не можете
источник

PK

Petr Kurapov in AI / Big Data / Machine Learning
А жаль, спасибо!
источник

AS

Alex Surname in AI / Big Data / Machine Learning
можно ходить дебаггером по коду kernel CUDA, в гугле много информаци
источник