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)?

isti_spl
sumber

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.

Massimo Cafaro
sumber
1

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

pengguna2251346
sumber
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