2013-08-16 27 views
8

Nvidia GPU'da OpenCL kernellerinde hata ayıklamanın bir yolu var mı, yani kesme noktaları belirleyip değişkenleri inceleyin? Anladığım kadarıyla, Nvidia's tool, OpenCL hata ayıklamasına izin vermiyor ve AMD's ve Intel's yalnızca kendi cihazlarında izin veriyor.Nvidia GPU'larda OpenCL'de nasıl hata ayıklanır?

+2

Bu sorunla ilgili bir çözüm bulamamış olsak da, kodun çalıştığından emin olmak için CodeXL kullanarak sık sık hata ayıklar ve daha sonra hata ayıklama desteği olmadan Nvidia platformlarına özgü son modifikasyonları ve optimizasyonları yaparız. Bu oldukça iyi çalıştı, ancak açıkça Nvidia kartınıza benzeyen bir AMD kartı satın almayı gerektiriyor. İdeal bir çözüm değil ama bizim için iyi çalışma eğiliminde. –

+1

AMD'den mükemmel bir araç olan CodeXL aracı için NVIDIA'da şansınız kalmadı, muhtemelen printf komutunu kullanabilirsiniz (http://www.khronos.org/registry/cl/sdk/1.2/docs/man/ xhtml/printfFunction.html) yerlilere bakmanın kirli bir yolu olarak, araçların ve desteğin çok daha iyi olduğu yerlerde AMD GPU'larına geçmenizi öneririm – kiranputtur

cevap

1

gDEBugger size bir şekilde yardımcı olabilir (hiç kullanmadıysanız), ancak bunun dışında, kesme noktaları ayarlayabilir veya değişkenleri bir çekirdek içinde denetleyebilir. Belki uzun bir çekirdek ise ara çıktıları çekirdekten kurtarmaya çalışın. Maalesef size sihirli bir çözüm sunamıyorum, hata ayıklama OpenCL sadece zor.

+0

[Bu gönderi] (http://stackoverflow.com/q/12070564/1397061) bahsetti gDEBugger'ın önceki bir sürümü Nvidia kartlarını destekledi, ancak bu iş düştü. Bu sürüm ve onu destekleyen sürücüler hala mevcut mu? –

+0

Göndermeden önce Grafik Çözüm'den gDEBugger durumunu kontrol etmeliydim. Yayınladıkları son sürüm 2010'dan (hala indirilmek üzere) ve AMD'nin sürümü CodeXL tarafından değiştirildi. GDEBugger'ın eski sürümünün işe yarayıp yaramadığını bilmiyorum, ancak bunu deneyeceğim ve rapor vereceğim. – chippies

+0

Daha önceki bir sürümü bulmanız gerekebilir, çünkü en son sürümden önce Nvidia desteğini aldılar. –