tarif Elsabbagh Blaise Tine Priyadarshini Roshan Ethan Lyons Euna Kim
Georgia Tech Georgia Tech Georgia Tech Georgia Tech Georgia Tech
fsabbagh@gatech.edu btine3@gatech.edu priya77darshini@gatech.edu elyons8@gatech.edu ekim79@gatech.edu
Abstrak - pemrosesan sinyal digital (DSP) untuk perangkat scalable Internet-of-hal (IOT).
Tantangan saat ini di skala teknologi mendorong industri semikonduktor menuju Selain itu, prosesor vektor [22] [15] [3] dan prosesor terintegrasi dengan
spesialisasi hardware, creat- ing proliferasi sistem-on-chip heterogen, memberikan
akselerator vektor [16] [10] telah dirancang dan dibuat berdasarkan RISC-V.
perintah kinerja besarnya dan kekuatan bene ts fi dibandingkan dengan arsitektur tujuan
Meskipun keuntungan dari karya-karya sebelumnya, tidak cukup perhatian
umum tradisional. Transisi ini semakin signifikan dorongan dengan munculnya RISC-V
dengan ISA modular dan extensible yang unik, yang memungkinkan berbagai macam telah dikhususkan untuk membangun tujuan umum GPU (GPGPU) sistem
desain prosesor biaya rendah untuk berbagai aplikasi sasaran. Selain itu, OpenCL saat open-source berdasarkan RISC-V.
arXiv: 2002.12151v1 [cs.DC] 27 Feb 2020
ini kerangka pemrograman yang paling banyak diadopsi untuk platform heterogen yang
tersedia di CPU utama, GPU, serta FPGA dan DSP kustom.
Meskipun beberapa karya terbaru telah diusulkan untuk perhitungan massal
paralel pada FPGA menggunakan RISC-
V, (GRVI Phalanx) [11], (Simty) [6], tidak satupun dari mereka telah menerapkan
Dalam karya ini, kami hadir Vortex, GPU RISC-V General-Purpose yang mendukung penuh tumpukan dengan memperpanjang RISC-V ISA, syn-thesizing
OpenCL. Vortex alat yang SIMT archi- tecture dengan ekstensi ISA minimal untuk mikroarsitektur, dan menerapkan software stack untuk menjalankan program
RISC-V yang memungkinkan pelaksanaan program OpenCL. Kami juga diperpanjang
OpenCL. Kami percaya bahwa implementasi seperti ini sebenarnya diperlukan
OpenCL runtime kerangka untuk menggunakan ISA baru. Kami mengevaluasi desain ini
untuk mencapai tingkat kegunaan dan customizability di platform massal paralel.
menggunakan teknologi 15nm. Kami juga menunjukkan kinerja dan energi nomor
menjalankan mereka dengan subset dari benchmark dari Rodinia benchmark suite.
Dalam tulisan ini, kami mengusulkan sebuah ISA ekstensi RISC-V untuk program GPGPU
dan mikroarsitektur. Kami juga memperpanjang tumpukan perangkat lunak untuk mendukung
Indeks Persyaratan -GPGPU, OpenCL, prosesor Vector
OpenCL.
II. B ACKGROUND
14 kosong opencl_kernel () {
15 int id = vx_getTid ();
16 __jika( id <4) {
Gambar 1:. Vortex Sistem Ikhtisar 17 // Jalur A
18 } lain {
19 // Jalur B
20 } __ berakhir jika
21}
Gambar 3:. Angka ini menunjukkan kontrol divergen jika berakhir jika
makro Definisi de dan bagaimana mereka dapat digunakan untuk memungkinkan kontrol
perbedaan dalam kernel OpenCL. Saat ini, proses ini dilakukan secara manual untuk setiap
kernel.
dari dua komponen utama: Sebuah mesin kompilasi back-end, dan front-end
1) intrinsik Perpustakaan: Untuk mengaktifkan Vortex runtime kernel untuk
OpenCL runtime API.
memanfaatkan instruksi baru tanpa memodifikasi compiler yang ada, kami
POCl runtime alat antarmuka perangkat-independen umum di mana
menerapkan lapisan intrinsik yang mengimplementasikan ISA baru. Gambar 2
pelaksanaan target masing-masing perangkat colokan ke PoCL untuk
menunjukkan fungsi dan ISA didukung oleh perpustakaan intrinsik. Kami
mengkhususkan operasi mereka. Pada saat runtime, PoCL memanggil
memanfaatkan RISC-V ABI yang menjamin fungsi argumen yang melewati
compiler back-end dengan pro vided OpenCL kernel source. PoCL mendukung
register gument ar dan kembali nilai-nilai mulai melewati a0
target-spesifik model eksekusi termasuk SIMT, MIMD, SIMD, dan VLIW. Pada
platform mendukung MIMD dan SIMD model eksekusi seperti CPU, upaya
daftar. Dengan demikian, fungsi-fungsi intrinsik hanya memiliki dua instruksi
PoCL compiler untuk berkemas sebanyak OpenCL kerja-item untuk instruksi
perakitan: 1) dikodekan 32-bit hex representasi dari instruksi yang menggunakan
vektor yang sama, maka runtime PoCL akan mendistribusikan karya-item yang
register argumen sebagai register sumber, dan 2) instruksi pengembalian yang
tersisa di antara benang hardware aktif pada perangkat dengan disediakan
kembali kembali ke C Program ++. Contoh dari fungsi-fungsi intrinsik diilustrasikan
chronization syn. Pada platform mendukung pelaksanaan model SIMT seperti
pada Gambar 3. Selain itu, untuk menangani kontrol divergence, yang sering
GPU, delegasi PoCL compiler distribusi pekerjaan-item untuk perangkat keras
terjadi di kernel OpenCL, kami menerapkan
untuk menyebarkan eksekusi di antara benang perangkat keras,
jika dan endif
mengandalkan perangkat untuk juga menangani sinkronisasi diperlukan. Pada
macro ditunjukkan dalam Gambar 3 untuk menangani penyisipan fungsi-fungsi
platform mendukung VLIW model eksekusi seperti akselerator berbasis TCE,
intrinsik dengan sedikit perubahan pada kode. Perubahan ini sedang dilakukan
upaya PoCL compiler untuk “membuka gulungan” daerah paralel dalam kode
secara manual untuk kernel OpenCL. Pendekatan ini mencapai fungsi yang
kernel sehingga operasi dari beberapa independen pekerjaan-barang yang
diperlukan tanpa membatasi platform atau membutuhkan setiap
bisa statis dijadwalkan untuk unit fungsi beberapa dari target alat.
spesifikasi-modi ke compiler RISC-V.
AKU AKU AKU. T DIA HAI PENA CL S OFTWARE S MEMAKUKAN minimal fungsi rintisan bahwa aplikasi client perlu untuk mengimplementasikan untuk
menangani system calls yang dibutuhkan seperti fi le I / O, alokasi, waktu, proses, dll ..
A. Vortex asli Runtime
Perangkat lunak Vortex tumpukan alat runtime perpustakaan asli untuk 3) API Vortex asli: The Vortex asli API mengimplementasikan beberapa rutinitas
mengembangkan aplikasi yang akan berjalan pada Vortex dan mengambil tujuan utilitas umum untuk aplikasi untuk digunakan. Salah satu rutinitas tersebut
keuntungan dari ekstensi RISC-V ISA baru. Gambar 2 mengilustrasikan lapisan adalah bibit POCl () yang memungkinkan program untuk eksekusi kernel jadwal PoCL
Vortex runtime, yang terdiri dari tiga komponen utama: 1) tingkat rendah intrinsik di Vortex. bibit POCl ()
perpustakaan mengekspos bertanggung jawab untuk kelompok kerja pemetaan yang diminta oleh PoCL ke
yang mengambil, decoding, dan mengeluarkan instruksi dibagi dalam warp yang
sama yang mengurangi siklus eksekusi.
Namun, dalam beberapa kasus, benang dalam warp yang sama akan tidak setuju
pada arah cabang. Dalam kasus tersebut, hardware harus menyediakan masker thread
untuk petunjuk predikat untuk setiap thread, dan tumpukan IPDOM, untuk memastikan
semua thread mengeksekusi dengan benar, yang dijelaskan dalam Bagian IV-C.
Gambar 4:. SIMT Kernel doa modi fi kasi untuk Vortex di PoCL
B. Warp Scheduler
Lungsin scheduler adalah dalam mengambil tahap yang memutuskan apa yang harus
mengambil dari I-cache yang ditunjukkan pada Gambar 5. Ini memiliki dua komponen: 1)
hardware: 1) Ia menggunakan lapisan intrinsik untuk fi nd keluar sumber daya avail- Satu set masker warp untuk memilih warp untuk jadwal berikutnya, dan 2) tabel warp
mampu hardware, 2) Menggunakan diminta kerja dimensi dan nomor kelompok yang termasuk informasi pribadi untuk setiap warp.
untuk membagi pekerjaan sama antara sumber daya perangkat keras, 3) Untuk
setiap dimensi OpenCL, itu memberikan sebuah berbagai ID untuk setiap warp Ada 4 topeng benang bahwa penggunaan scheduler: 1) sebuah warps aktif
tersedia dalam struktur global, 4) Ia menggunakan lapisan intrinsik untuk bertelur masker, satu bit yang menunjukkan apakah warp sebuah aktif atau tidak, 2) warp
yang warps dan benang mengaktifkan, dan akhirnya 5) setiap warp akan loop masker terhenti, yang menunjukkan yang warps tidak harus dijadwalkan
melalui ID ditugaskan, mengeksekusi kernel setiap kali dengan OpenCL baru id sementara (misalnya, menunggu permintaan memori), 3) warps penghalang
global. Gambar 4 menunjukkan contoh. Dalam kode OpenCL asli, inti disebut sekali terhenti topeng, yang menunjukkan warps yang telah terhenti karena instruksi
dengan / ukuran lokal global argumen. PoCL membungkus kernel dengan tiga loop penghalang, dan 4) warps terlihat masker untuk mendukung hirarkis penjadwalan
dan berurutan panggilan dengan logika yang bertobat x, y, z untuk id global. Untuk kebijakan [18].
versi Vortex, warps dan benang melahirkan, maka setiap thread diberikan sebuah
kerja-kelompok yang berbeda untuk mengeksekusi kernel. PoCL menyediakan fitur Setiap siklus, scheduler yang ditunjuk oleh salah satu warp dari topeng warp
untuk memetakan benar wid, terlihat dan membatalkan yang warp. Ketika warp topeng terlihat adalah nol, topeng
aktif kembali diisi oleh pengecekan yang warps sedang aktif dan tidak terhenti.
yang merupakan bagian dari pelaksanaan dasar PoCL untuk mendukung Sebuah contoh dari scheduler warp ditunjukkan pada Gambar 6 (a). angka
berbagai hardware seperti arsitektur vektor. ini menunjukkan eksekusi normal; Yang pertama siklus warp nol mengeksekusi
sebuah instruksi, maka pada siklus kedua warp nol valid dalam warp topeng
B. PoCL Runtime terlihat, dan warp satu dijadwalkan. Pada siklus ketiga, karena tidak ada lagi
Kami modi fi ed runtime PoCL, menambahkan target perangkat baru untuk antarmuka warps dijadwalkan, scheduler menggunakan warps aktif untuk re fi ll topeng
perangkat umum untuk dukungan Vortex. Target perangkat baru pada dasarnya adalah terlihat, dan jadwal warp nol untuk eksekusi.
sebuah varian dari PoCL sasaran CPU dasar dengan dukungan untuk pthreads dan
dependensi OS lainnya dihapus untuk menargetkan antarmuka NewLib. Kami juga modi fi ed Gambar 6 (b) menunjukkan bagaimana warp scheduler menangani warp
logika tunggal berulir untuk melaksanakan pekerjaan-item untuk menggunakan Vortex ini terhenti. Pada siklus pertama fi jadwal scheduler warp nol. Pada siklus kedua,
jadwal scheduler warp satu. Pada siklus yang sama, karena tahap decode
spawn POCl API runtime. diidentifikasi bahwa warp instruksi nol ini membutuhkan perubahan dari negara,
warung warp nol. Pada siklus ketiga, karena warp nol terhenti, scheduler hanya
C. Barrier Dukungan menetapkan warp satu untuk warp topeng terlihat dan jadwal warp satu lagi. Ketika
warp nol update masker benang nya, sedikit di masker terhenti akan diatur ke 0
Sinkronisasi dalam kerja kelompok di OpenCL yang didukung oleh
untuk memungkinkan penjadwalan.
hambatan. back-end compiler PoCL ini membagi kontrol-aliran grafik (CFG) dari
kernel sekitar penghalang dan membagi kernel menjadi dua bagian yang akan
Gambar 6 (c) menunjukkan contoh pemijahan warps. Ketika warp nol
dijalankan oleh semua pekerjaan-kelompok lokal berurutan.
mengeksekusi sebuah wspawn instruksi (Tabel I), yang mengaktifkan warps dan
memanipulasi yang warps aktif masker dengan menetapkan warps dua dan tiga
IV. V ORTEX P ARALLEL H ardware SEBUAH RCHITECTURE untuk aktif. Ketika waktu untuk re fi ll topeng terlihat, karena tidak lagi memiliki warps
setiap jadwal, itu termasuk warps dua dan tiga. Warps akan tinggal di Topeng Aktif
Primitif Hardware A. SIMT
sampai mereka menetapkan nilai benang topeng mereka ke nol, atau warp nol
SIMT, Single Instruction-Beberapa Threads, Model eksekusi mengambil Memanfaatkan wspawn untuk menonaktifkan warps ini.
keuntungan dari fakta bahwa dalam banyak beragam aplikasi paralel, kode yang
sama berulang kali dilaksanakan namun dengan data yang berbeda. Dengan
demikian, ia menyediakan konsep Warps [19], yang merupakan kelompok dari
C. Threads Masker dan IPDOM Stack
benang yang berbagi PC yang sama dan mengikuti jalan eksekusi yang sama dengan Untuk mendukung konsep benang dalam Bagian IV-A, benang masker
perbedaan minimal. Setiap thread di warp memiliki seperangkat pribadi register tujuan mendaftar dan stack IPDOM telah ditambahkan ke perangkat keras yang mirip
umum, dan lebar ALU cocok dengan jumlah benang. Namun, dengan arsitektur SIMT lainnya [8]. Benang topeng mendaftar bertindak seperti
predikat untuk setiap thread,
Gambar 5:. Vortex Microarchitecture.
Ketika join instruksi dijalankan, sebuah entri muncul dari tumpukan yang
menyebabkan salah satu dari dua skenario: 1) Jika entri tidak jatuh-melalui
entri, PC diatur ke PC entri dan topeng benang diperbarui untuk nilai topeng
masuk, yang memungkinkan benang mengevaluasi predikat sebagai palsu
untuk mengikuti jalur eksekusi mereka sendiri, dan 2) Jika entri adalah fall-
melalui entri, PC terus pelaksana untuk PC + 4 dan benang masker diperbarui
untuk topeng entri, yang merupakan kasus ketika kedua jalur dari perbedaan
kontrol telah dilaksanakan.
Hambatan D. Warp
hambatan Warp penting dalam pelaksanaan SIMT, karena pro vides sinkronisasi
antara warps. Hambatan disediakan dalam perangkat keras untuk mendukung
Gambar 6:. Fi ini angka menunjukkan Warp Scheduler di bawah skenario yang berbeda. sinkronisasi global antara kelompok-kerja. Setiap penghalang memiliki catatan
Dalam pelaksanaan mikroarsitektur yang sebenarnya, instruksi hanya dikenal siklus pribadi di meja penghalang, yang ditunjukkan pada Gambar 5, dengan informasi
berikutnya, namun ditampilkan dalam siklus yang sama di fi ini angka untuk berikut: 1) Apakah hambatan yang saat ini berlaku, 2) jumlah warps meninggalkan
kesederhanaan. kebutuhan untuk mengeksekusi instruksi penghalang dengan ID yang masuk untuk
penghalang akan dirilis, dan 3) masker dari warps yang saat ini terhenti oleh
penghalang itu. Namun, Gambar 5 hanya menunjukkan per hambatan inti. Ada juga
mengendalikan yang benang aktif. Jika bit di dalam topeng benang untuk spesifik meja lain pada inti con gurations fi multi yang memungkinkan untuk hambatan global
benang adalah nol, tidak ada spesifikasi-modi akan dilakukan untuk register yang antara semua core. MSB dari ID penghalang menunjukkan apakah instruksi
thread fi le dan tidak ada perubahan ke cache akan dibuat berdasarkan benang itu. menggunakan hambatan lokal atau hambatan global.
The IPDOM stack, diilustrasikan pada Gambar 5 digunakan untuk menangani kontrol
divergensi dan dikendalikan oleh perpecahan dan bergabung petunjuk. Instruksi ini Ketika instruksi penghalang dijalankan, mikroarsitektur yang memeriksa jumlah
memanfaatkan tumpukan IPDOM untuk memungkinkan perbedaan seperti yang ditunjukkan warps dieksekusi dengan ID penghalang yang sama. Jika jumlah warps tidak sama
pada Gambar 3. dengan satu, warp tersebut terhenti sampai nomor yang tercapai dan rilis masker
Ketika instruksi perpecahan dijalankan oleh warp, nilai predikat untuk setiap dimanipulasi untuk memasukkan warp itu. Setelah jumlah yang sama warps telah
thread dievaluasi. Jika hanya ada satu thread yang aktif, atau semua thread dilaksanakan, rilis mask digunakan untuk melepaskan semua warps terhenti oleh
menyepakati arah, perpecahan bertindak seperti instruksi nop dan tidak ID penghalang yang sesuai. Metode yang sama bekerja untuk kedua hambatan
mengubah keadaan lusi. Bila ada lebih dari satu thread aktif yang bertentangan lokal dan global; Namun, meja penghalang global yang memiliki rilis masker per
pada nilai predikat, tiga peristiwa mikroarsitektur masing-masing inti.
TABEL I: Usulan perpanjangan SIMT ISA. 25
(dinormalisasi untuk 1 x 1)
membagi% pred Kontrol aliran divergensi 800
Gambar 8:. Disintesis hasil untuk kekuasaan, wilayah dan jumlah sel untuk nomor yang
berbeda dari warps dan benang
1.2
Gambar 7:. GDS layout untuk Vortex kami dengan 8 warp, 4 benang con fi 0,4
0,2
gurasi (4KB mendaftar fi le). Desain yang disintesis untuk 300Mhz dan 0
16x32
32x32
16x32
32x32
16x32
32x32
16x32
32x32
16x32
32x32
16x32
32x32
16x32
32x32
2x2
2x2
2x2
2x2
2x2
2x2
2x2
8X32
8X32
8X32
8X32
8X32
8X32
8X32
2x16
2x32
4x32
2x16
2x32
4x32
2x16
2x32
4x32
2x16
2x32
4x32
2x16
2x32
4x32
2x16
2x32
4x32
2x16
2x32
4x32
2x4
2x8
2x4
2x8
2x4
2x8
2x4
2x8
2x4
2x8
2x4
2x8
2x4
2x8
sgemm saxpy sfilter BFS gaussian vecadd nearn
8KB dengan 4 memori bank-bersama, 1kb 2 cara Cache, satu bank-I Cache.
Gambar 9:. Kinerja subset dari Rodinia benchmark suite (# dari warps x # dari
benang
VE PENILAIAN
Bagian ini akan mengevaluasi kedua model RTL Verilog untuk Vortex dan termasuk 1kb 2 cara cache instruksi, 4 Kb 2 way 4 bank data cache, dan 8kB 4
software stack. bank bersama modul memori.
Dalam desain Vortex, kita dapat meningkatkan paralelisme data tingkat baik Semua tolok ukur yang digunakan untuk evaluasi diambil dari Rodinia [5],
populer GPGPU benchmark suite. 1
dengan meningkatkan jumlah thread atau dengan meningkatkan jumlah warps.
Peningkatan jumlah thread mirip dengan meningkatkan SIMD lebar dan
C. simX Simulator
melibatkan perubahan berikut ke perangkat keras: 1) meningkatkan lebar memori
GPR untuk membaca dan menulis, 2) meningkatkan jumlah ALUS untuk Karena tolok ukur yang digunakan dalam Rodinia Benchmark Suite memiliki besar
mencocokkan jumlah benang, 3) meningkatkan lebar mendaftar untuk setiap data-set yang mengambil Modelsim waktu lama untuk mensimulasikan, kami
tahap pipa setelah GPR membaca panggung, 4) meningkatkan logika arbitrase menggunakan simX, C ++ siklus-tingkat di-rumah simulator untuk Vortex dengan akurasi
diperlukan baik di cache dan memori bersama untuk mendeteksi Bank konflik dan siklus dalam waktu 6% dari model Verilog yang sebenarnya. Harap dicatat bahwa nomor
menangani cache misses, dan kekuasaan dan daerah disintesis dari RTL tersebut.
6
efisiensi daya metrik
0.25
adalah kemampuannya untuk tumpang tindih eksekusi instruksi skalar pada skalar
prosesor yang meningkatkan kompleksitas hardware untuk manajemen bahaya.
energi
5
efisiensi daya (dinormalisasi ke 2x2)
0,2
Energi (J)
0,15
3
Simty [6] alat prosesor khusus RISC-V chitecture ar yang mendukung SIMT
0,1
2
0,05
eksekusi yang mirip dengan Vortex, tetapi dengan kontrol yang berbeda fl ow
1
0 0
16x32
32x32
16x32
32x32
16x32
32x32
16x32
32x32
16x32
32x32
16x32
32x32
2x2
2x2
2x2
2x2
2x2
2x2
2x2
8X32
8X32
8X32
8X32
8X32
8X32
8X32
2x16
2x32
4x32
2x16
2x32
4x32
2x16
2x32
4x32
2x16
2x32
4x32
2x16
2x32
4x32
2x16
2x32
4x32
2x16
2x32
4x32
2x4
2x8
2x4
2x8
2x4
2x8
2x4
2x8
2x4
2x8
2x4
2x8
2x4
2x8
sgemm saxpy sfilter BFS gaussian vecadd nearn
sebagai bukti dari konsep dan tidak ada software stack, dan tidak ada aplikasi
GPGPU dieksekusi dengan arsitektur.
Gambar 10:. Daya efisiensi (# dari warps x # dari benang (Power efisiensi dan
Energi)
VII. C ONCLUSIONS
Dalam makalah ini kami mengusulkan Vortex yang didukung versi diperpanjang
MLP; Dengan demikian, patokan yang diuntungkan paling dari hitungan warp tinggi
dari RISC-V untuk aplikasi GPGPU. Kami juga memodi- fi ed software OpenCL stack
BFS yang merupakan patokan yang tidak teratur.
(PoCL) untuk menjalankan berbagai kernel OpenCL dan menunjukkan bahwa. Kami
Seperti kita meningkatkan jumlah benang dan warps, meningkat konsumsi daya
berencana untuk melepaskan Vortex RTL dan PoCL modi fi kasi untuk umum. 2 Kami
tetapi mereka tidak selalu menghasilkan performa yang lebih. Oleh karena itu,
percaya bahwa versi Open Source dari RISC-V GPGPU akan memperkaya sistem
sebagian besar tenaga ef poin desain fi sien bervariasi tergantung pada benchmark.
gema RISC-V dan mempercepat peneliti lain yang GPGPUs studi di topik yang lebih
Gambar 10 menunjukkan kekuatan efisiensi metrik (mirip dengan kinerja per watt)
luas karena seluruh software stack juga didasarkan pada Open Source
yang dinormalisasi ke 2 warps x 2 benang con fi gurasi. Hasil penelitian
implementasi.
menunjukkan bahwa bagi banyak benchmark, paling desain daya yang efisien
adalah satu dengan jumlah yang lebih sedikit dari warps dan 32 thread kecuali untuk
patokan BFS. Seperti yang kita bahas sebelumnya sejak BFS patokan mendapat
R EFERENCES
kinerja terbaik dari 32 warps x 32 benang con fi gurasi, hal itu juga menunjukkan
sebagian besar kekuasaan ef fi titik desain efisien. [1] K. Asanovic, RISC-V Vector Extension. [ On line]. Tersedia: https:
//github.com/riscv/riscv-v-spec/blob/master/v-spec.adoc [2] K. Asanovi'
c et al., “Instruksi set harus bebas: Kasus untuk risc-
v,” EECS Departemen, University of California, Berkeley, Tek. Rep. UCB / EECS-2014-146, 2014.
E. Penempatan dan tata letak [3] MA Cavalcante et al., “Ara: A 1 GHz + terukur dan energi yang efisien
RISC-V prosesor vektor dengan multi-presisi terapung dukungan titik di 22 nm FD-SOI,” Corr, vol.
Kami disintesis RTL kami menggunakan perpustakaan pendidikan 15-nm. abs / 1906,00478, 2019. [4] C. Celio et al., “Boomv2: open-source out-of-order RISC-v inti,”
Menggunakan Innovus, kami juga melakukan tempat dan rute (PNR). Gambar 7
di Lokakarya pertama pada Arsitektur Komputer Penelitian dengan RISC-V (CARRV), 2017.
menunjukkan tata letak GDS dan kekuatan kepadatan peta prosesor Vortex kami.
Dari peta kekuatan kepadatan, kita mengamati bahwa kekuasaan didistribusikan [5] S. Che et al., “Rodinia: Sebuah benchmark suite untuk comput- heterogen
dengan baik di antara daerah sel. Selain itu, kami mengamati memori termasuk ing,”ser. IISWC '09. IEEE Computer Society, 2009.
[6] S. Collange, “Simty: umum eksekusi SIMT pada RISC-v,” di Pertama
GPR, cache data, instruksi icache dan memori bersama telah konsumsi daya yang
Workshop Arsitektur Komputer Penelitian dengan RISC-V (CARRV
lebih tinggi. 2017), 2017, p. 6.
[7] JJ Corinna Vinschen, “Newlib,” http://sourceware.org/newlib, 2001. [8] WWL Fung et al., “Pembentukan
warp Dinamis dan penjadwalan untuk
yang efisien gpu kontrol fl ow,”ser. MICRO 40. IEEE Computer Society,
VI. R GEMBIRA W ORK
2007, hlm. 407-420.
ARA [3] adalah RISC-V Vector Processor yang menerapkan [9] M. Gautschi et al., “Dekat-batas RISC-v core dengan dsp ekstensi untuk
scalable perangkat endpoint idiot,” IEEE Transaksi pada Very Large Scale Integration (VLSI)
variabel-panjang Model eksekusi multiple-data tunggal-instruksi mana instruksi
Systems, vol. 25, tidak ada. 10, pp. 2700-2713, 2017. [10] G. Gobieski et al., “Manic: Sebuah vektor-data
vektor mengalir ke jalur vektor dan eksekusi mereka adalah waktu-multiplexing yang fl ow arsitektur untuk ultra-rendah
lebih unit eksekusi bersama untuk meningkatkan ef energi fi siensi. desain ara kekuatan embedded system,”ser. MICRO '52. ACM, 2019, hlm. 670-684. [11] J. Gray, “Grvi
phalanx: Sebuah besar-besaran sejajar RISC-v FPGA accelerator
didasarkan pada open-source usulan RISC-V Vector ISA Perpanjangan [1]
akselerator,”di 2016 IEEE 24 Tahunan Simposium Internasional Bidang-Programmable
mengambil keuntungan dari nya vektor-panjang ISA agnostik dan santai Kustom Mesin Computing (FCCM). IEEE,
register vektor arsitektur. Memaksimalkan pemanfaatan prosesor vektor dapat 2016, hlm. 17-20.
[12] Green500, “daftar Green500 - Juni 2019,” 2019. [online]. Tersedia:
menantang, secara khusus ketika berhadapan dengan data kontrol tergantung
https://www.top500.org/lists/2019/06/ [13] P. Jaaskelainen et al., “PoCL: bahasa komputasi
fl ow. Itu adalah di mana SIMT arsitektur seperti Vortex hadir keuntungan portabel,” Internasional
dengan fleksibel skalar-benang mereka yang dapat menyimpang secara Journal of Paralel Pemrograman, pp. 752-785, 2015. [14] PO Jskelinen et al., “Metodologi
desain berbasis OpenCL untuk
independen.
aplikasi-spesifik prosesor,”di 2010 Konferensi Internasional tentang Sistem Komputer
Embedded: Arsitektur, Pemodelan dan Simulasi,
Juli 2010, hlm. 223-230. [15] Y. Lee et al., “Sebuah 45nm 1.3GHz 16,7 presisi ganda g fl ops /
w RISC-v
Hwacha [15] adalah RISC-V prosesor skalar dengan akselerator vektor yang
prosesor dengan akselerator vektor,”di ESSCIRC 2014 - 40 Eropa Sirkuit Solid State
mengimplementasikan sebuah SIMT-seperti arsitektur di mana vektor petunjuk Conference (ESSCIRC), September 2014, hlm. 199-202.
aritmatika diperluas ke mikro-ops dan dijadwalkan pada benang pengolahan
Saat github adalah swasta untuk diperiksa buta.
terpisah pada pedal gas. 2
[16] Y. Lee et al., “Sebuah 45nm 1,3 ghz 16,7 presisi ganda g fl ops / w RISC-v
prosesor dengan akselerator vektor,”di ESSCIRC 2014-40th Eropa Sirkuit Solid State
Conference (ESSCIRC). IEEE 2014, hlm. 199-202. [17] A. Munshi, “The OpenCL spesifik kation,”
di 2009 IEEE Hot Chips 21
Simposium (HCS), Agustus 2009, hlm. 1-314. [18] V. Narasiman et al., “Meningkatkan kinerja
GPU melalui warps besar dan
dua tingkat penjadwalan warp,”ser. MICRO-44. New York, NY, USA: ACM, 2011, hlm
308-317..
[19] NVIDIA, “Cuda utilitas biner,” NVIDIA Aplikasi Catatan, 2014. [20] A. Waterman et al., “Instruksi
RISC-v set manual. Volume 1: User-
isa tingkat, versi 2.0,”EECS Departemen, UC Berkeley, Tek. Reputasi.,
2014.
[21] A. Waterman et al., “Instruksi RISC-v set manual, Volume i: Basis
user-level isa,” EECS Departemen, UC Berkeley, Tek. Rep. UCB / EECS- 2011-62, vol. 116,
2011. [22] B. Zimmer et al., “Sebuah prosesor vektor RISC-v dengan erat terintegrasi
beralih-kapasitor konverter dc-dc di 28nm fdsoi,”di 2015 Simposium VLSI Sirkuit (VLSI Sirkuit).
IEEE 2015, pp. C316-C317.