Czy istnieje sposób debugowania jądra OpenCL na GPU Nvidia, tj. Ustawiania punktów przerwania i sprawdzanie zmiennych? Rozumiem, że Nvidia's tool nie pozwala na debugowanie OpenCL, a AMD's i Intel's pozwalają na to tylko na swoich urządzeniach.Jak debugować OpenCL na procesorach graficznych Nvidia?
Odpowiedz
gDEBugger może ci w czymś pomóc (nigdy z niego nie korzystałem), ale poza tym nie ma żadnego narzędzia, które znam, które może ustawić punkty przerwania lub sprawdzić zmienne wewnątrz jądra. Być może spróbuj zapisać wyjścia pośrednie z jądra, jeśli jest to długie jądro. Niestety nie mogę dać ci magicznego rozwiązania, debugowanie OpenCL jest po prostu trudne.
[Ten wpis] (http://stackoverflow.com/q/12070564/1397061) wzmianki poprzednia wersja gDEBugger obsługiwała karty Nvidii, ale ta praca została usunięta. Czy ta wersja i sterowniki, które ją obsługują, są nadal dostępne? –
Wygląda na to, że powinienem sprawdzić stan gDEBuggera ze strony Graphic Remedy przed opublikowaniem. Ostatnia wersja, którą wypuścili, pochodzi z 2010 roku (wciąż dostępna do pobrania), a wersja AMD została zastąpiona przez CodeXL. Nie wiem, czy działa stara wersja gDEBuggera, ale wypróbuję i zgłoś. – chippies
Być może trzeba będzie znaleźć wcześniejszą wersję, ponieważ najwyraźniej upuściła obsługę Nvidii przed najnowszą wersją. –
Nie znalazłem rozwiązania dla tego problemu, jednak często debugujemy za pomocą CodeXL na platformach AMD, aby upewnić się, że nasz kod działa, a następnie dokonujemy ostatecznych modyfikacji i optymalizacji, które są charakterystyczne dla platform Nvidia bez obsługi debugowania. To działało dość dobrze, ale oczywiście wymaga zakupu karty AMD, która jest podobna do karty Nvidii. Nie jest to idealne rozwiązanie, ale działa dobrze dla nas. –
Awans na narzędzie CodeXL, doskonałe narzędzie AMD, poza tym, że nie masz szczęścia na NVIDIA, prawdopodobnie możesz użyć polecenia printf (http://www.khronos.org/registry/cl/sdk/1.2/docs/man/ xhtml/printfFunction.html) jako brudny sposób patrzenia na mieszkańców, sugerowałbym przejście na GPU AMD, gdzie narzędzia i wsparcie są znacznie lepsze. – kiranputtur