Sari la conținut

Accelerare hardware

De la Wikipedia, enciclopedia liberă
O placă de accelerare criptografică permite efectuarea operațiunilor criptografice într-un ritm mai rapid.

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
  • Computare de scop general
  • Computere GP, pe cardurile grafice Nvidia
  • Răspuns:
  • Codec video
Unitate de procesare a graficilor Computare generală în GPU CUDA arhitectură hardware de urmărire a railor Diferit hardware de accelerare video GPU
  • GPGPU
  • Cuda
  • RTX
  • N/A
Procesarea semnalului digital Procesor de semnal digital DSP
Procesarea semnalului analog Aria analogă programată pe câmp
  • RF programată pe câmp
FPAA
  • FPR
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
  • Reţea pe un cip
  • Motor de descarcare TCP
  • Descărcare IPsec[8]
  • Tehnologia de accelerație I/O
NPU și NIC

NoC TCPOE sau TOE I/OAT sau IOAT

  • Numărul de înregistrare
  • TCPOE sau TOE
  • I/OAT sau IOAT
Criptografie Accelerator criptografic și procesor criptografik sigur
  • Criptare pe bază de hardware
    • Set de instrucțiuni AES
    • Accelerare SSL
  • Atac hardware personalizat
  • Generator de numere aleatorii hardware
N/A
Inteligență artificială
  • Vizualul mașinii/viziunea calculatoruluiviziune prin calculator
  • Rețelele neuronale
  • Simularea creierului
Accelerator AI
  • Unitate de procesare a viziunii
  • Reţeaua neuronală fizică
  • Inginerie neuromorfică
N/A
  • VPU
  • PNN
  • 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

  • Array-uri de porți programabile pe câmp[11]
  • Circuite integrate specifice aplicațiilor[11]
  • Dispozitive logice complexe programabile
  • Sistemele pe cip Multi-procesor sistem pe cip Programabil sistem pe cip
HW (uneori)

FPGA ASIC CPLD SoC MPSoC PSoC

  • FPGA
  • ASIC
  • CPLD
  • SoC MPSoC PSoC
    • MPSoC
    • PSoC
  1. „Embedded”. Arhivat din original la . Accesat în . "FPGA Architectures from 'A' to 'Z'" by Clive Maxfield 2006
  2. 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.
  3. 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.
  4. 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.
  5. 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.
  6. 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.
  7. „Project Catapult”. Microsoft Research.
  8. „Intel® PRO/100 S Desktop Adapter Datasheet” (PDF). Intel. . Accesat în .
  9. „Regular Expressions in hardware”. Accesat în .
  10. „Compression Accelerators”. Microsoft Research. . Accesat în .
  11. 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 .