Wie erhalte ich die GPU-Ausführungszeit eines Skripts in der Shell?

7

Ich möchte die Fertigstellungszeit eines Skripts in Bezug auf die GPU-Zeit (nicht die CPU) anzeigen.

Für die CPU kann ich einfach verwenden time :

francky@gimmek80s:~$ time ls -l
total 8
drwxrwxr-x 3 francky francky 4096 Dec 16 22:19 codes
drwxrwxr-x 2 francky francky 4096 Jun 20 00:06 CUDA_practice
drwxrwxr-x 3 francky francky 4096 Dec 16 22:44 data

real    0m0.001s
user    0m0.000s
sys     0m0.000s

Was ist das Äquivalent für GPUs?

(Ich verwende das CUDA-Toolkit, um einige Berechnungen an meinen Nvidia-GPUs durchzuführen.)

Franck Dernoncourt
quelle
2
Siehe auch: Messung der Laufzeit des CUDA-Programms
don_crissti
Was meinst du mit "Skript"? Meinen Sie ein Skript, das ein Programm aufruft, das auf der GPU ausgeführt wird?
Nehcsivart
@tchen yes Skript oder Programm, das die GPU verwendet. In meinem Fall bin ich derzeit daran interessiert, ein Python-Skript zu steuern.
Franck Dernoncourt
@FranckDernoncourt Ich bin nicht sicher, ob dies funktionieren wird, aber Sie können es versuchen nvprof python $script_name. Normalerweise erfolgt das Timing in CUDA innerhalb des Codes.
Nehcsivart

Antworten:

1

GPUs sind für die Kernel noch nicht "nativ" ... tatsächlich sind sie für die Linux-Kernel ziemlich "fremd", da sie (insbesondere die CUDA, vielleicht weniger die OpenCL-bezogenen Sachen) auf proprietären Treibern usw. beruhen Lass das Zeug in den GPUs laufen.

Also nein, erwarte nicht, dass eine "einfache" Zeit / Zeitx diese Zähler anzeigt, bis jemand das schreibt, aber was ich bisher aufgrund der benötigten Codierung zu tun habe, erwarte ich nicht, dass es bald verfügbar sein wird, es sei denn du Codieren Sie es in die Anwendungen, die Sie aufrufen und die CUDA / OpenCL-Aufgaben für Sie erledigen.

Hvisage
quelle