CUDA / PyCUDA: диагностика сбоя запуска, исчезающего при cuda-gdb - PullRequest
0 голосов
/ 20 апреля 2011

Кто-нибудь знает вероятные пути расследования сбоев запуска ядра, которые исчезают при запуске под управлением cuda-gdb?Назначение памяти находится в пределах спецификации, при каждом запуске одного и того же ядра каждый раз происходит сбой, и (пока) он не завершился с ошибкой в ​​отладчике.

О, Великий ТАК Гуру, что теперь?

Ответы [ 2 ]

2 голосов
/ 21 апреля 2011

cuda-gdb выливает всю разделяемую память и регистрируется в локальной памяти.Поэтому, когда что-то работает нормально, построено для отладки, и в противном случае происходит сбой, это обычно означает, что доступ к разделяемой памяти выходит за границы.cuda-memcheck может помочь, в зависимости от того, какую карту вы используете.В этом отношении Fermi лучше, чем старые карты.

EDIT : Возвращаясь к плохим старым временам, я помню, что у меня был злобный GT9500, который выкидывал подобные ошибки NV13 и имел случайныесбои кода при запуске ядер с большим объемом памяти и большой активностью совместной памяти.Никогда при отладке.Я поставил его на плохое аппаратное обеспечение и перешел на GT200, чтобы с тех пор не увидеть подобную ошибку.Одной из возможностей может быть плохое оборудование.Это G92 (9800GT или аналогичный)?

0 голосов
/ 21 апреля 2011

CUDA GDB может сделать некоторые операции cuda синхронными.

  • Вы читаете из памяти после инициализации?
  • Вы используете потоки?
  • Запускаете ли вы более одного ядра?
  • Где и как это терпит неудачу?
...