Өгөгдлийн төвүүдэд FPGA нэвтрэх зайлшгүй байдал

Өгөгдлийн төвүүдэд FPGA нэвтрэх зайлшгүй байдал
Java хэл дээр код бичихийн тулд C++ програмист байх шаардлагагүйтэй адил FPGA программчлахын тулд чип дизайнер байх шаардлагагүй. Гэсэн хэдий ч хоёр тохиолдолд энэ нь ашигтай байх болно.

Java болон FPGA технологийг хоёуланг нь арилжаалах зорилго нь сүүлчийн мэдэгдлийг үгүйсгэх явдал юм. FPGA-д зориулсан сайн мэдээ - програмчлагдах логик төхөөрөмжийг зохион бүтээснээс хойшхи сүүлийн 35 жилийн хугацаанд зөв хийсвэрлэх давхаргууд болон багаж хэрэгслийг ашиглан CPU, DSP, GPU эсвэл бусад төрлийн захиалгат ASIC-ийн оронд FPGA-д зориулсан алгоритм, өгөгдлийн урсгалыг бий болгох болсон. улам нийтлэг. хялбар.

CPU нь янз бүрийн шалтгааны улмаас олон даалгаврыг гүйцэтгэх дата төвүүдийн цорын ганц тооцоолох модуль хэвээр байхаа больсон үед FPGA нь хурд, хоцрогдол багатай, сүлжээний чадавхийг санал болгож үр дүнтэй болсон нь тэдний бүтээн байгуулалтын гайхалтай цаг үеэ олсон явдал юм. болон санах ой - бараг бүрэн хэмжээний тооцоолох системүүд болох орчин үеийн FPGA SoC-ийн янз бүрийн тооцоолох чадварууд. Гэсэн хэдий ч FPGA-ууд нь гибрид систем дэх бусад төхөөрөмжүүдтэй амжилттай хослуулагдсан бөгөөд бидний бодлоор тэд тооцоолох шатлалд зохих байр сууриа дөнгөж олж эхэлж байна.

Тийм ч учраас бид 22-р сарын XNUMX-нд Сан Хосе хотноо The Next FPGA Platform чуулганыг зохион байгууллаа. Мэдээжийн хэрэг, дэлхийн FPGA нийлүүлэгчдийн нэг бөгөөд энэ чиглэлээр анхдагч нь Xilinx юм. Xilinx-ийн ахлах дэд ерөнхийлөгч, технологийн ахлах ажилтан Иво Болсенс бага хурал дээр үг хэлж, Xilinx нь дата төвүүдэд зориулж өөрчлөгддөг тооцоолох системийг бий болгоход хэрхэн тусалж байгаа талаар өнөөдөр бидэнд санал бодлоо хэлэв.

Тооцоолол, хадгалалт, сүлжээний асуудлыг шийдвэрлэх янз бүрийн төрлийн компьютерийн хүчийг багтаасан нэг төрлийн бус дата төвийг бий болгохын тулд системийн архитекторууд болон программистууд маш их цаг зарцуулсан. Төрөл бүрийн CMOS төхөөрөмжүүдийг ашиглан Мурын хуулийг дагаж мөрдөх нь улам бүр хэцүү болж байгаа тул энэ нь зайлшгүй шаардлагатай юм шиг санагдаж байна. Одоогийн байдлаар манай хэл CPU төвтэй хэвээр байгаа бөгөөд бид "програмыг хурдасгах" тухай ярьсаар байгаа бөгөөд энэ нь зөвхөн CPU дээр хийж чадахаас илүү програмуудыг ажиллуулах гэсэн үг юм. Цаг хугацаа өнгөрөхөд дата төвүүд нь бүх зүйлийг хооронд нь холбодог тооцоолох хүчин чадал, өгөгдөл хадгалах, протоколуудын цуглуулга болж, бид "тооцоолох", "програм" гэх мэт нэр томъёо руу буцах болно. Гибрид тооцоолол нь ширээний компьютер эсвэл виртуал машин дээр ажиллаж байгаа өнөөгийн үүлэн үйлчилгээтэй адил хэвийн болж, хэзээ нэгэн цагт бид "тооцоолох" гэдэг үгийг ашиглан тэдгээр нь хэрхэн ажилладагийг тайлбарлах болно. Хэзээ нэгэн цагт - мөн FPGA-ууд энэ эрин үеийг эхлүүлэхэд туслах магадлалтай - бид үүнийг дахин өгөгдөл боловсруулах гэж нэрлэх болно.

Дата төвүүдэд FPGA-г нэвтрүүлэх нь сэтгэлгээний өөрчлөлтийг шаарддаг. "Өнөөдрийн хэрэглүүрүүдийг хурдасгах арга замын талаар бодохдоо тэдгээр нь хэрхэн ажилладаг, ямар нөөцийг ашигладаг, цагийг хаана зарцуулдаг зэрэг үндсэн зарчмуудыг ойлгох хэрэгтэй" гэж Болсенс тайлбарлав. – Шийдвэрлэх гэж байгаа ерөнхий асуудлаа судлах хэрэгтэй. Өнөөдөр дата төвүүдэд ажиллаж байгаа олон програмууд нь маш их хэмжээний нөөцийг зарцуулдаг. Жишээлбэл, маш олон тооны тооцооллын зангилаа ашигладаг машин сургалтыг ав. Гэхдээ бид хурдатгалын тухай ярихдаа зөвхөн тооцоололыг хурдасгах биш, дэд бүтцийг хурдасгах талаар бодох хэрэгтэй."

Жишээлбэл, Болсенсийн практик дээр судалж байсан машин сургалтын үйлдлүүдийн хувьд ойролцоогоор 50% нь тархсан тооцоолох хүчин чадлын хооронд өгөгдөл дамжуулахад зарцуулагддаг бөгөөд үлдсэн хагасыг нь өөрсдөө тооцоололд зарцуулдаг.

"Үүнд би FPGA тусалж чадна гэж бодож байна, учир нь бид програмын тооцоолол болон харилцааны талыг хоёуланг нь оновчтой болгож чадна. Мөн бид үүнийг дэд бүтцийн ерөнхий түвшинд, чипийн түвшинд хийж чадна. Энэ нь тодорхой хэрэглээний хэрэгцээнд зориулж холбооны сүлжээг бий болгох боломжийг олгодог FPGA-ийн нэг том давуу тал юм. AI ажлын ачаалал дахь өгөгдлийн хөдөлгөөний ердийн хэв маягт үндэслэн би шилжүүлэгч дээр суурилсан нарийн төвөгтэй архитектурын хэрэгцээг олж харахгүй байна. Та их хэмжээний мэдээллийн урсгал бүхий сүлжээг бий болгож чадна. Мэдрэлийн сүлжээний сургалтын даалгавруудад мөн адил хамаарна - та тодорхой даалгаварт дасан зохицох багцын хэмжээтэй торон сүлжээг үүсгэж болно. FPGA ашиглан өгөгдөл дамжуулах протоколууд болон хэлхээний топологиуд нь маш нарийн масштабтай бөгөөд тодорхой программд тохируулан тохируулж болно. Мөн машин сургалтын хувьд бидэнд давхар нарийвчлалтай хөвөгч цэгийн тоо хэрэггүй нь тодорхой бөгөөд бид үүнийг бас тохируулах боломжтой."

FPGA болон CPU эсвэл захиалгат ASIC хоёрын ялгаа нь сүүлийнх нь үйлдвэрт програмчлагдсан байдаг бөгөөд үүний дараа та тооцоолж буй өгөгдлийн төрөл, тооцоолж буй элементүүд болон өгөгдлийн мөн чанарын талаар бодлоо өөрчлөх боломжгүй болсон явдал юм. төхөөрөмжөөр урсдаг. FPGA нь үйл ажиллагааны нөхцөл өөрчлөгдсөн тохиолдолд таны бодлоо өөрчлөх боломжийг олгодог.

Урьд нь FPGA програмчлал нь тийм ч хэцүү биш байсан үед энэ давуу тал нь өндөр өртөгтэй байсан. Программистуудын C, C++, эсвэл Python хэл дээр CPU-параллель програмуудыг бичихэд ашигладаг хэрэгслүүдтэй илүү сайн уялдуулахын тулд FPGA хөрвүүлэгчдийг нээх, мөн зарим ажлыг FPGA дээрх процедурыг хурдасгах номын сангуудад аутсорсинг хийх шаардлагатай байна. Vitis машин сургалтын стек нь үүнийг хийдэг бөгөөд Caffe, TensorFlow зэрэг ML платформуудыг идэвхжүүлж, ердийн AI загваруудыг ажиллуулах эсвэл FPGA чадварыг видео кодчилол, видео объектыг таних, өгөгдөлд дүн шинжилгээ хийх зэрэг ажлуудад нэмж өгдөг. , санхүүгийн эрсдэлийн удирдлага болон гуравдагч зүйл юм. - намын номын сангууд.

Энэ үзэл баримтлал нь Nvidia-ийн CUDA төслөөс нэг их ялгаатай биш бөгөөд XNUMX жилийн өмнө GPU хурдасгуурт параллель тооцооллыг буулгадаг, эсвэл AMD-н ROCm хэрэглүүрээс эсвэл өөр өөр CPU, GPU болон FPGA дээр ажиллах Intel-ийн OneAPI төслийн амлалтаас тийм ч их ялгаатай биш юм.

Цорын ганц асуулт бол эдгээр бүх хэрэгслийг хэрхэн холбох вэ, ингэснээр хүн бүр өөрийн үзэмжээр тооцоолох хүчийг програмчлах боломжтой болно. Энэ нь чухал ач холбогдолтой, учир нь FPGA-ууд нь боломжтой бүх CPU-ээс илүү төвөгтэй, илүү төвөгтэй болсон. Тэдгээрийг хамгийн дэвшилтэт үйлдвэрлэлийн процесс, хамгийн орчин үеийн чип савлах технологийг ашиглан үйлдвэрлэдэг. Мөн тэд өөрсдийн байр сууриа олох болно, учир нь бид цаг хугацаа, мөнгө, эрчим хүч, оюун ухаанаа дэмий үрэхээ больсон - энэ бүхэн хэтэрхий үнэтэй нөөц юм.

"FPGA нь технологийн давуу талыг санал болгодог" гэж Болсенс хэлэв. - Мөн энэ нь дасан зохицох, дахин тохируулах тухай ердийн сурталчилгаа биш юм. Бүх чухал хэрэглээнд - машин сурах, график шинжилгээ, өндөр хурдны арилжаа гэх мэт. - тэд зөвхөн өгөгдөл түгээх замаас гадна санах ойн архитектурт дасан зохицох чадвартай байдаг - чип дотор өгөгдөл хэрхэн хөдөлдөг. FPGA нь бусад төхөөрөмжүүдээс хамаагүй илүү санах ойтой байдаг. Хэрэв даалгавар нь нэг FPGA-д тохирохгүй бол та олон CPU эсвэл GPU дээр даалгавруудыг масштаблах үед таныг хүлээж буй сул талуудтай тулгарахгүйгээр олон чип дээр масштаблах боломжтой гэдгийг анхаарах хэрэгтэй."

Эх сурвалж: www.habr.com

сэтгэгдэл нэмэх