Məlumat mərkəzlərinə FPGA nüfuzunun qaçılmazlığı

Məlumat mərkəzlərinə FPGA nüfuzunun qaçılmazlığı
Java-da kod yazmaq üçün C++ proqramçısı olmaq lazım olmadığı kimi, FPGA-ları proqramlaşdırmaq üçün çip dizayneri olmağa ehtiyac yoxdur. Ancaq hər iki halda çox güman ki, faydalı olacaq.

Həm Java, həm də FPGA texnologiyalarının kommersiyalaşdırılmasında məqsəd sonuncu iddianı təkzib etməkdir. FPGA-lar üçün yaxşı xəbər - proqramlaşdırıla bilən məntiq cihazının ixtirasından bəri son 35 ildə düzgün abstraksiya təbəqələrindən və alətlər dəstindən istifadə etməklə CPU, DSP, GPU və ya hər hansı digər xüsusi ASIC forması əvəzinə FPGA-lar üçün alqoritmlər və məlumat axınları yaratmağa başladı. getdikcə ümumi. asan.

Onların yaradılmasının heyrətamiz vaxtı ondan aydın olur ki, CPU-lar bir çox tapşırıqları yerinə yetirmək üçün məlumat mərkəzlərinin yeganə hesablama modulu olaraq qala bilməyəndə - müxtəlif səbəblərdən - FPGA-lar sürət, aşağı gecikmə, şəbəkə imkanları təklif edərək öz effektivliyinə nail oldular. və yaddaş - demək olar ki, tam hüquqlu hesablama sistemləri olan müasir FPGA SoC-lərin heterojen hesablama imkanları. Bununla belə, FPGA-lar hibrid sistemlərdə digər qurğularla da uğurla birləşdirilir və fikrimizcə, onlar hesablama iyerarxiyasında öz layiqli yerini yenicə tapmağa başlayırlar.

Buna görə də biz yanvarın 22-də San Xosedə The Next FPGA Platform konfransını təşkil etdik. Təbii ki, dünyada əsas FPGA təchizatçılarından biri və bu sahədə pioner Xilinx-dir. Xilinx-in baş vitse-prezidenti və baş texnologiya direktoru İvo Bolsens konfransda çıxış etdi və bu gün Xilinx-in məlumat mərkəzləri üçün dəyişən hesablama sistemləri yaratmağa necə kömək etdiyi barədə fikirlərini bildirdi.

Hesablama, saxlama və şəbəkələşmədə problemləri həll edən müxtəlif növ kompüter güclərini özündə əks etdirəcək heterojen məlumat mərkəzi yaratmaq üçün sistem memarlarına və proqramçılara çox vaxt lazım oldu. Bu, müxtəlif CMOS cihazlarından istifadə edərək Mur Qanununa əməl etməyin getdikcə çətinləşdiyinə görə zəruri görünür. Hələlik dilimiz hələ də CPU mərkəzlidir və biz hələ də “tətbiq sürətləndirilməsi” haqqında danışırıq, yəni proqramları yalnız CPU-larda edilə bilənlərdən daha yaxşı işlədir. Zaman keçdikcə məlumat mərkəzləri hər şeyi bir-birinə bağlayan hesablama gücü, məlumat saxlama və protokollar toplusuna çevriləcək və biz “hesablama” və “tətbiqlər” kimi terminlərə qayıdacayıq. Hibrid hesablama iş masası və ya virtual maşınlarda işləyən bugünkü bulud xidmətləri kimi normal hala gələcək və nə vaxtsa onların necə işlədiyini təsvir etmək üçün sadəcə “hesablama” sözündən istifadə edəcəyik. Bir nöqtədə - və çox güman ki, FPGA-lar bu dövrün başlanğıcına kömək edəcək - biz bunu yenidən məlumatların emalı adlandıracağıq.

Məlumat mərkəzlərində FPGA-ları qəbul etmək düşüncə tərzində dəyişiklik tələb edəcəkdir. "Bugünkü tətbiqləri sürətləndirməyin yolları haqqında düşünərkən, onların necə işlədiyi, hansı resurslardan istifadə edildiyi, vaxtın hara xərcləndiyi ilə bağlı əsaslara düşməlisiniz" deyə Bolsens izah edir. – Həll etməyə çalışdığınız ümumi problemi öyrənməlisiniz. Bu gün məlumat mərkəzlərində işləyən bir çox proqramlar böyük miqdarda resurs istehlak etmək üçün miqyas alır. Məsələn, çoxlu sayda hesablama qovşaqlarından istifadə edən maşın öyrənməsini götürək. Amma biz akselerasiyadan danışarkən təkcə hesablamaların sürətləndirilməsi haqqında deyil, həm də infrastrukturun sürətləndirilməsi haqqında düşünməliyik”.

Məsələn, Bolsensin təcrübədə öyrəndiyi maşın öyrənmə əməliyyatları növündə vaxtın təxminən 50%-i məlumatların səpələnmiş hesablama gücü arasında irəli və geri ötürülməsinə sərf olunur və vaxtın yalnız qalan yarısı hesablamaların özlərinə sərf olunur.

“Məncə, FPGA kömək edə bilər, çünki biz proqramın həm hesablama, həm də kommunikasiya aspektlərinin optimallaşdırılmasını təmin edə bilərik. Və biz bunu ümumi infrastruktur səviyyəsində və çip səviyyəsində edə bilərik. Bu, xüsusi proqram ehtiyacları üçün rabitə şəbəkələri yaratmağa imkan verən FPGA-ların böyük üstünlüklərindən biridir. Süni intellekt iş yüklərində verilənlərin hərəkətinin tipik nümunələrinə əsaslanaraq, kompleks keçid əsaslı arxitekturaya ehtiyac görmürəm. Böyük məlumat axını ilə bir şəbəkə qura bilərsiniz. Eyni şey neyron şəbəkəsinin təlim tapşırıqlarına da aiddir - siz müəyyən bir tapşırığa uyğunlaşan paket ölçüləri olan bir şəbəkə qura bilərsiniz. Bir FPGA istifadə edərək, məlumat ötürmə protokolları və dövrə topologiyaları çox dəqiq ölçülə və xüsusi bir tətbiqə uyğunlaşdırıla bilər. Maşın öyrənməsi vəziyyətində, ikiqat dəqiqlikli üzən nöqtə nömrələrinə ehtiyacımız olmadığı da aydındır və biz bunu da tənzimləyə bilərik.

FPGA ilə CPU və ya xüsusi ASIC arasındakı fərq ondan ibarətdir ki, sonuncular zavodda proqramlaşdırılır və bundan sonra siz hesablanan məlumatların növləri və ya hesablanan elementlər və ya məlumatların təbiəti haqqında fikrinizi artıq dəyişə bilməzsiniz. cihaz vasitəsilə axır. FPGA-lar iş şəraiti dəyişdikdə fikrinizi dəyişməyə imkan verir.

Keçmişdə bu üstünlük FPGA proqramlaşdırmasının ürək zəifliyi üçün olmadığı zaman baha başa gəlirdi. Ehtiyac, proqramçıların C, C++ və ya Python-da CPU-paralel proqramlar yazmaq üçün istifadə etdiyi alətlərlə daha yaxşı inteqrasiya etmək üçün FPGA kompilyatorlarını açmaq və işin bir hissəsini FPGA-larda prosedurları sürətləndirən kitabxanalara təhvil verməkdir. Bu, Vitis maşın öyrənmə yığınının etdiyi şeydir, Caffe və TensorFlow kimi ML platformalarını gücləndirir, adi süni intellekt modellərini idarə etmək üçün kitabxanalar və ya videoların kodlaşdırılması, video obyektin tanınması və məlumat analitikası kimi tapşırıqlara FPGA imkanları əlavə edir. , maliyyə risklərinin idarə edilməsi və hər hansı üçüncü. - partiya kitabxanaları.

Bu konsepsiya, paralel hesablamaları GPU sürətləndiricilərinə yükləyən Nvidia-nın CUDA layihəsindən və ya AMD-nin ROCm alətlər dəstindən və ya müxtəlif CPU, GPU və FPGA-da işləməli olan Intel-in OneAPI layihəsinin vədindən çox da fərqlənmir.

Yeganə sual, bütün bu vasitələrin bir-birinə necə bağlanacağıdır ki, hər hansı bir şəxs öz mülahizəsinə uyğun olaraq bir sıra hesablama güclərini proqramlaşdıra bilsin. Bu vacibdir, çünki FPGA-lar mövcud CPU-lardan daha mürəkkəb, daha mürəkkəb hala gəldi. Onlar ən qabaqcıl istehsal prosesləri və ən müasir çip qablaşdırma texnologiyalarından istifadə etməklə istehsal olunur. Və onlar öz yerlərini tapacaqlar, çünki biz artıq vaxt, pul, enerji və zəka sərf edə bilmərik - bütün bunlar çox bahalı resurslardır.

"FPGA'lar texnoloji üstünlüklər təklif edir" dedi Bolsens. - Və bu, sadəcə uyğunlaşma və yenidən konfiqurasiya haqqında adi reklam deyil. Bütün vacib tətbiqlərdə - maşın öyrənmə, qrafik təhlili, yüksək sürətli ticarət və s. - onlar yalnız məlumatların paylanması yolunu deyil, həm də yaddaş arxitekturasını - verilənlərin çip daxilində necə hərəkət etdiyini müəyyən bir vəzifəyə uyğunlaşdırmaq qabiliyyətinə malikdirlər. FPGA-larda digər cihazlara nisbətən daha çox yaddaş quraşdırılmışdır. Onu da nəzərə almaq lazımdır ki, əgər tapşırıq bir FPGA-ya uyğun gəlmirsə, siz tapşırıqları birdən çox CPU və ya GPU-da miqyaslandırarkən sizi gözləyən çatışmazlıqlarla qarşılaşmadan onu çoxlu çiplər arasında genişləndirə bilərsiniz.”

Mənbə: www.habr.com

Добавить комментарий