Bagaimana cara memulai menulis profiler GPU tingkat rendah?

8

Saya telah mempelajari profiler perusahaan hardware GPU dalam beberapa hari terakhir (Qualcomm, PowerVR, Intel). Saya perhatikan bahwa alat-alat ini tampaknya memberikan lebih banyak detail level rendah daripada profiler GPU yang telah saya gunakan di masa lalu - OpenGL ES frame capture dan apitrace XCode - yang hanya mencatat panggilan OpenGL mana yang dibuat dan bagaimana keadaan saat ini sumber daya adalah.

Bagaimana saya memulai jika saya ingin membuat alat tingkat rendah yang menampilkan hal-hal seperti misil cache sampler dan kode assembler shader?


sumber

Jawaban:

6

Untuk data waktu GPU dasar, Anda dapat menggunakan kueri cap waktu D3D atau kueri pengatur waktu OpenGL yang setara .

Setiap data perangkat keras tingkat rendah seperti cache yang hilang akan menjadi sangat spesifik untuk vendor. Setiap vendor GPU memiliki API atau ekstensi kustom sendiri untuk memberikan akses ke data kinerja tingkat rendah pada perangkat kerasnya. API bervariasi dalam cara kerjanya, dan mereka tidak harus semua mengungkapkan detail yang sama. Data yang tersedia juga dapat bervariasi antara model chip yang berbeda dalam vendor yang sama, jadi Anda mungkin perlu tahu sedikit tentang cara kerja perangkat keras untuk memahami itu.

Berikut ini tautan ke API yang relevan untuk sebagian besar vendor GPU utama.

Nathan Reed
sumber
Oh luar biasa, saya kira saya harus menggali lebih dalam di situs web perusahaan. Saya berasumsi karena apitrace tidak menawarkan rincian ini, ada semacam pembalikan yang terjadi. Terima kasih!
oh saya pikir dia ingin menulis perfkit lain. yang jawabannya adalah tidak mungkin kecuali Anda membuat perangkat keras sendiri.
v.oddou