Model paralel teoretis mana yang paling dekat dengan CUDA?


8

Model paralel teoretis mana yang paling dekat dengan model pemrograman CUDA / OpenCL?

Misalnya, ini cocok pada tingkat tertentu dengan model Mesin Akses Acak Paralel (PRAM) generik. Namun, itu terlalu umum, karena membuat abstraksi dari berbagai latensi akses memori dan masalah sinkronisasi.

Pertanyaan saya adalah model teoretis mana yang paling cocok dengan arsitektur CUDA (mengingat paralelisme hierarki threads dan blok-blok thread yang bekerja sama)?

Jawaban:


6

Sepengetahuan saya, mungkin model Queuing Shared Memory (QSM) , meskipun paralelisme hierarki thread tidak diperhitungkan. Namun, akses ke memori lokal dan memori global (bandwidth berbeda), dan sinkronisasi massal (di mana utas dapat bekerja secara asinkron antara sinkronisasi penghalang) dipertimbangkan.


1

Karena semua SM menjalankan instruksi yang sama dari kernel CUDA di lockstep, saya akan mengatakan itu adalah SIMD lama.


Nah, beberapa SM dapat menjalankan instruksi yang berbeda, bukan? Dalam satu SM tunggal, semua utas dalam warp menjalankan instruksi yang sama ... tetapi bahkan warp yang berbeda dalam blok yang sama dapat menyimpang tanpa penalti. Yang mengatakan, SIMD akan menjadi jawaban saya juga, meskipun pada granularity warp, bukan SM atau bahkan blok.
Patrick87

Menemukan ini hari ini dibaca dalam pelaksanaan GPU berdasarkan pada single-instruction-multiple-thread (SIMT) Dikutip dari J. Nickolls, I. Buck, M. Garland, dan K. Skadron, Pemrograman Paralel Scalable dengan CUDA, Antrian 6, 2 ( Maret 2008), 40-53
user2251346
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.