Accelerare hardware

Accelerarea hardware este utilizarea hardware-ului computerului, cunoscut sub numele de accelerator hardware, pentru a îndeplini funcții specifice mai rapid decât poate fi realizat de software-ul care rulează pe o unitate centrală de procesare (CPU) de uz general. Orice transformare a datelor care poate fi calculată de software-ul care rulează pe un CPU poate fi, de asemenea, calculată de un accelerator hardware adecvat sau printr-o combinație a ambelor.
Pentru a efectua sarcini de calcul mai eficient, în general, se poate investi timp și bani în îmbunătățirea software-ului, îmbunătățirea hardware-ului sau ambele. Există diverse abordări cu avantaje și dezavantaje în ceea ce privește reducerea latenței, creșterea debitului și reducerea consumului de energie.
Avantajele tipice ale concentrării pe software pot include o versatilitate mai mare, o dezvoltare mai rapidă, costuri de inginerie nerecurente mai mici, portabilitate sporită și ușurința actualizării funcțiilor sau a remedierii erorilor, cu costul cheltuielilor generale de calcul pentru operațiunile generale.
Avantajele concentrării pe hardware pot include creșterea vitezei, reducerea consumului de energie, o latență mai mică, o paralelizare crescută[1] și o lățime de bandă mai mare, precum și o mai bună utilizare a suprafeței și a componentelor funcționale disponibile pe un circuit integrat; cu prețul unei capacități reduse de actualizare a proiectelor odată gravate pe siliciu și al unor costuri mai mari pentru verificarea funcțională, al timpilor de lansare pe piață și al nevoii de mai multe componente.
În ierarhia sistemelor de calcul digitale, de la procesoare de uz general la hardware complet personalizat, există un compromis între flexibilitate și eficiență, eficiența crescând cu ordine de mărime atunci când o anumită aplicație este implementată mai sus în ierarhie.[2] Această ierarhie include procesoare de uz general, cum ar fi CPU-urile,[3] procesoare mai specializate, cum ar fi shaderele programabile într-un GPU,[4] aplicații implementate pe matrici de porți programabile pe teren (FPGA)[5] și aplicații cu funcții fixe implementate pe circuite integrate specifice aplicației (ASIC).[6]
Accelerarea hardware este avantajoasă pentru performanță și practică atunci când funcțiile sunt fixe, astfel încât actualizările nu sunt la fel de necesare ca în soluțiile software. Odată cu apariția dispozitivelor logice reprogramabile, cum ar fi FPGA-urile, restricționarea accelerării hardware la algoritmi complet fixe a fost relaxată din 2010, permițând aplicarea accelerării hardware în domenii problematice care necesită modificarea algoritmilor și a fluxului de control al procesării.[7] Dezavantajul este însă că, în multe proiecte open source, aceasta necesită biblioteci proprietare pe care nu toți furnizorii sunt dornici să le distribuie sau să le expună, ceea ce face dificilă integrarea în astfel de proiecte.
Unități de accelerare hardware după aplicație
[modificare | modificare sursă]| Aplicare | Accelerator hardware | Acronim |
|---|---|---|
Grafică de calculator
|
Unitate de procesare a graficilor Computare generală în GPU CUDA arhitectură hardware de urmărire a railor Diferit hardware de accelerare video
|
GPU
|
| Procesarea semnalului digital | Procesor de semnal digital | DSP |
| Procesarea semnalului analog | Aria analogă programată pe câmp
|
FPAA
|
| Procesarea imaginii | Camera web sau procesor de imagini | UIP |
| Procesarea sunetului | Mixer de Cardul de sunet și de carduri audiomixer de carduri audio | N/A |
| Rețeaua de calculatoare | Procesorul de rețea și controlorul de interfață de reță Rețea pe un motor de debarcare TCP debarcare IPsec debarcare [1] Tehnologia de accelerație I/O | NPU și NIC
NoC TCPOE sau TOE I/OAT sau IOAT
|
| Criptografie | Accelerator criptografic și procesor criptografik sigur
|
N/A |
Inteligență artificială
|
Accelerator AI
|
N/A
|
| Algebra multilineară | Unitate de prelucrare a tensiunii | TPU |
| Simularea fizică | Unitate de procesare a fizicii | PPU |
| Expresii regulate[9] | Coprocesor de expresie regulată | N/A |
| Comprimarea datelor[10] | Accelerator de compresie a datelor | N/A |
| Procesare în memorie | Reţea pe un cip şi un sistem de sistem SystolicAria sistolică | NoC; N/A |
| Procesarea datelor | Unitate de prelucrare a datelor | DPU |
| Orice sarcină de calcul | Arhiva de calculator
Array-uri de porți programabile în câmp[4] Circuite integrate specifice aplicațiilor[4] Dispozitive logice programabile complexe Sistemele pe cip Multi-procesor sistem-pe-chip Sistem-pe-cip Programmabil
|
HW (uneori)
FPGA ASIC CPLD SoC MPSoC PSoC
|
Vezi și
[modificare | modificare sursă]- Coprocesor
- Taxonomia arhitecturilor de calculatoare paralele a lui Flynn
- Instrucțiune unică, date multiple (SIMD)
- Instrucțiune unică, fire multiple (SIMT)
- Instrucțiuni multiple, date multiple (MIMD)
Referințe
[modificare | modificare sursă]- ↑ „Embedded”. Arhivat din original la . Accesat în . "FPGA Architectures from 'A' to 'Z'" by Clive Maxfield 2006
- ↑ Sinan, Kufeoglu; Mahmut, Ozkuran (). „Figure 5. CPU, GPU, FPGA, and ASIC minimum energy consumption between difficulty recalculation.”. Energy Consumption of Bitcoin Mining. doi:10.17863/CAM.41230.
- ↑ Kim, Yeongmin; Kong, Joonho; Munir, Arslan (). „CPU-Accelerator Co-Scheduling for CNN Acceleration at the Edge”. IEEE Access. 8: 211422–211433. Bibcode:2020IEEEA...8u1422K. doi:10.1109/ACCESS.2020.3039278. ISSN 2169-3536.
- ↑ Lin, Yibo; Jiang, Zixuan; Gu, Jiaqi; Li, Wuxi; Dhar, Shounak; Ren, Haoxing; Khailany, Brucek; Pan, David Z. (aprilie 2021). „DREAMPlace: Deep Learning Toolkit-Enabled GPU Acceleration for Modern VLSI Placement”. IEEE Transactions on Computer-Aided Design of Integrated Circuits and Systems. 40 (4): 748–761. Bibcode:2021ITCAD..40..748L. doi:10.1109/TCAD.2020.3003843. ISSN 1937-4151.
- ↑ Lyakhov, Pavel; Valueva, Maria; Valuev, Georgii; Nagornov, Nikolai (). „A Method of Increasing Digital Filter Performance Based on Truncated Multiply-Accumulate Units”. Applied Sciences (în engleză). 10 (24): 9052. doi:10.3390/app10249052. ISSN 2076-3417.
Hardware simulation on FPGA increased the digital filter performance.
- ↑ Mohan, Prashanth; Wang, Wen; Jungk, Bernhard; Niederhagen, Ruben; Szefer, Jakub; Mai, Ken (octombrie 2020). „ASIC Accelerator in 28 nm for the Post-Quantum Digital Signature Scheme XMSS”. 2020 IEEE 38th International Conference on Computer Design (ICCD). Hartford, CT, USA: IEEE. pp. 656–662. doi:10.1109/ICCD50377.2020.00112. ISBN 978-1-7281-9710-4.
- ↑ „Project Catapult”. Microsoft Research.
- ↑ „Intel® PRO/100 S Desktop Adapter Datasheet” (PDF). Intel. . Accesat în .
- ↑ „Regular Expressions in hardware”. Accesat în .
- ↑ „Compression Accelerators”. Microsoft Research. . Accesat în .
- 1 2 Farabet, Clément (). Hardware accelerated convolutional neural networks for synthetic vision systems. Proceedings of 2010 IEEE International Symposium on Circuits and Systems. Paris: IEEE. pp. 257–260. Bibcode:etal Verificați
|bibcode=length (ajutor). doi:10.1109/ISCAS.2010.5537908. Accesat în .