Kengaytirilgan gpu hisoblash. GPU optimallashtirish - ajoyib haqiqatlar. Video kartada qazib olish - oson pennies va yolg'on

Golovna / Korisne PZ

GPUdagi parallel to'lovlar haqida gapiradigan bo'lsak, biz xotira aybdormiz, biz qaysi soatda yashayapmiz, bugun, agar dunyoda hamma narsa pollar bilan qoplangan bo'lsa, biz siz bilan bir soat vaqt o'tkazamiz, xotirlamasdan, xuddi biz o'tib ketayotgandek. Biz ishlayotgan hamma narsa ma'lumotni qayta ishlashning yuqori aniqligi va tezligi bilan bog'liq, bunday onglarda bizga barcha ma'lumotlarni qayta ishlash uchun har doim vositalar kerak bo'ladi, chunki biz uni ma'lumotlarga aylantirishimiz kerak, shu paytgacha biz buni yodda tutishimiz kerakdek tuyuladi. vazifalar nafaqat katta tashkilotlar uchun, balki mega-korporatsiyalar uchun zarurdir, bunday vazifalarning ko'tarilishi bir vaqtning o'zida talab qilinadi va koristuvachlar qatorlari, go'yo ular shaxsiy kompyuterlarda uyda yuqori texnologiyalar bilan shug'ullanadigan vazifalarni hayotlarini buzayotgandek! NVIDIA CUDA ning ko'rinishi ajoyib emas edi, lekin undan ham ko'proq tayyorlandi, shuning uchun kerak bo'lganda, kompyuterda ancha mashaqqatli vazifalarni tezroq bajarish kerak edi. Ilgari robotga yaxshi soat kerak bo'lganidek, endi biroz vaqt talab etadi, aniqki, bu butun dunyoning katta rasmiga olib boradi!

GPU bo'yicha hisoblash nima

Texnik, ilmiy, pastdagi vazifalarni hisoblash uchun GPUni hisoblash uchun GPU bo'yicha hisoblash. GPU bo'yicha hisoblash CPU va GPU ni tanlashni o'z ichiga oladi, ular o'rtasida turli xil tanlov va o'zi: dasturning oxirgi qismi protsessor tomonidan qabul qilinadi, o'sha soatda mashaqqatli vazifalar sifatida GPU ortda qoladi. Shu sababli, rozparalelyuvannya zavdan vazifasi, scho ma'lumotni iloji boricha tezroq qayta ishlashdan oldin ishlab chiqarish va ish soatini o'zgartirish, tizim yanada samaraliroq bo'ladi va ko'proq zavdan, pastroq qayta ishlanishi mumkin. Biroq, bunday muvaffaqiyatga erishish uchun apparat yordamisiz qilolmaydi, ushbu maxsus turga dasturiy ta'minot uchun zarur yordam, shuning uchun dastur eng ko'p mehnat xarajatlarini GPUga o'tkazishi mumkin.

CUDA nima

CUDA bu mening C algoritmlarim bilan soddalashtirilgan dasturlash texnologiyasi boʻlib, u 8-avlod va undan kattaroq GeForce grafik protsessorlarida, shuningdek, NVIDIA kompaniyasining oʻxshash Quadro va Tesla kartalarida qoʻllaniladi. CUDA matn C dasturidan oldin maxsus funksiyalarni kiritish imkonini beradi. Bu funksiyalar mening C dasturim tomonidan soddalashtirilgan tarzda yozilgan va grafik protsessorda yozilgan. CUDA SDK ning birinchi versiyasi 2007 yil 15 fevralda chiqarilgan. Kodimni CUDA SDK omboriga muvaffaqiyatli tarjima qilish uchun NVIDIA buyruq qatori C kompilyatori nvcc kiritilishi kerak. Open64 ochiq kodli kompilyatorga asoslangan nvcc ijodi kompilyatori va xost-kodi (bosh, kalit kodi) va qurilma kodini (apparat kodi) (.cu kengaytmali fayllar) ob'ekt fayllariga, kompilyatsiya jarayonidagi ilovalarga tarjima qilish uchun topshiriqlar. har qanday dasturlash muhitidagi dasturlar yoki kutubxonalar, masalan, Microsoft Visual Studio.

Texnologiyaning imkoniyati

  1. GPU-da qo'shimchalarni parallel ravishda kengaytirish uchun standart mov C.
  2. Fur'ê ning shved transformatsiyasi uchun raqamli tahlilning tayyor kutubxonalari va chiziqli algebra dasturlarining asosiy to'plami.
  3. GPU va CPU o'rtasida ma'lumotlarni hisoblash va uzatish uchun maxsus CUDA drayveri.
  4. CUDA drayverini intermodal qilish imkoniyati grafik haydovchilar OpenGL va DirectX.
  5. Operativ yordam Linux tizimlari 32/64-bit, Windows XP 32/64-bit va MacOS.

Texnologiya taraqqiyoti

  1. CUDA dasturlash interfeysi (CUDA API) ba'zi almashinuvlarga ega standart harakatlanuvchi C dasturlash tiliga asoslangan. Tse so'raydi va CUDA arxitekturasini ishlab chiqish jarayonini tekislang.
  2. Oqimlar o'rtasida bo'lingan 16 Kb o'lchamli xotira (umumiy xotira) keng diapazonli o'tkazish qobiliyatiga ega keshni tashkil qilish uchun sindirilishi mumkin, pastroq, ajoyib teksturalar tanlovi bilan.
  3. CPU xotirasi va video xotirasi o'rtasida yanada samarali tranzaktsiyalar.
  4. Tsilih va bit-bit operatsiyalar uchun Povna apparat yordam.

Stosuvannya texnologiyasiga misol

cRark

Ushbu dasturda eng muhim narsa infuziondir. Dasturda konsol interfeysi mavjud, ammo dasturning o'ziga qanday kirish bo'yicha ko'rsatmalar mavjud, u buzilgan bo'lishi mumkin. Ko'rsatilgan masofa qisqa ko'rsatma s nalashtuvannya dasturlari. Biz dasturning amaliyligini tekshiramiz va uni NVIDIA CUDA kabi emas, boshqa shunga o'xshash dastur bilan solishtiramiz, bu holda biz Advanced Archive Password Recovery dasturidan foydalanamiz.

Yuklab olingan cRark arxividan bizga faqat uchta fayl kerak: crark.exe, crark-hp.exe va password.def. Srark.exe - tse konsol yordam dasturi Arxivning o'rtasida shifrlangan fayllarsiz RAR 3.0 parollarini ochish (shuning uchun arxivlarni ochishda uni nomlashimiz kerak, lekin parolsiz arxivlarni ochib bo'lmaydi).

Srark-hp.exe - butun arxivni shifrlashdan RAR 3.0 parollarini olish uchun konsol yordam dasturi (shuning uchun parolsiz arxivlarni nomlash yoki chiqarib olish mumkin emas).

Password.def - agar siz matnli fayl nomini hatto kichik o'zgartirish bilan o'zgartirmoqchi bo'lsangiz (masalan: 1-qator: ## 2-qator: ?*, bu holda parol farqi belgilar nomlariga mos kelishi kerak). Password.def - cRark dasturining zanjiri. Faylda parolni ochish qoidalari mavjud (aks holda, uning robotidan crark.exe kabi belgilar maydoni buziladi). Ushbu belgilarni tanlash imkoniyati haqida hisobot cRark dasturining muallifini tanlash uchun matn faylida yozilgan: russian.def .

Tayyorgarlik

Sizga yana bir bor aytamanki, dastur faqat CUDA 1.1 tezlashtirilgan yordami uchun video kartangiz GPUga asoslangan ekan ishlaydi. Shunday qilib, G80 chipiga asoslangan bir qator video kartalar, masalan, GeForce 8800 GTX tushib ketadi, shuning uchun hidni CUDA 1.0 apparati kuchaytirishi mumkin. Dastur CUDA yordami uchun faqat 3.0+ versiyalarining RAR arxivlari uchun parollarni oladi. Siz hamma narsani o'rnatishingiz kerak dasturiy ta'minot xavfsizligi, bu CUDA bilan bog'liq, lekin o'zi bilan:

Keling, ma'lum bir joyda (masalan, C: diskida) papka yaratamiz va uni "3.2" deb nomlaymiz. Quyidagi fayllardan foydalaning: crark.exe, crark-hp.exe va password.def va RAR arxivlarini parol bilan himoyalash/shifrlash.

Keyin buyruq konsolini ishga tushiring Windows qatorlari va yangi jildga o'ting. Windows Vista va 7 uchun "Ishga tushirish" menyusini bosing va so'rov maydoniga "cmd.exe" ni kiriting, Windows XP uchun "Ishga tushirish" menyusidan ishga tushirish menyusini bosing va keyin "cmd.exe" ni kiriting. yangi oyna. Konsolni ochganingizdan so'ng, siz xohlagan tarzda cd C: \ papka \, cd C: \ 3.2 kabi buyruqni kiriting.

Kiring matn muharriri shifrlanmagan fayllar bilan parol bilan himoyalangan RAR arxivi uchun parolni tanlash uchun ikkita qator (matnni cRark jildidan .bat fayli sifatida ham saqlashingiz mumkin):

aks sado o'chirilgan;
cmd /K crark (arxivni nomlang).rar

parol bilan himoyalangan va shifrlangan RAR arxivi uchun parolni tanlash uchun:

aks sado o'chirilgan;
cmd /K crark-hp (nom arxivi).rar

2 qatordan nusxa oling matn fayli konsolda Enter tugmasini bosing (yoki .bat faylini ishga tushiring).

Natijalar

Kichkintoyning guvohligini ochish jarayoni:

CUDA yordamida cRark-ni yig'ish tezligi sekundiga 1625 parolni tashkil etdi. O'ttiz olti soniyalik bir oraliq uchun parol uchta belgidan tanlandi: "q) $". Taqqoslash uchun: Ikki yadroli Athlon 3000+ protsessorimdagi Advanced Archive Password Recovery qo'pol kuch 50 ta parol/sekundgacha, qo'pol kuch esa 5 yilgacha vaqt olishi mumkin. Shuning uchun GeForce 9800 GTX+ video kartasi yordamida cRark RAR arxivida bruteforce protsessorda 30 marta tezroq, pastroq ko'rinadi.

Intel protsessoriga ega bo'lganlar uchun, garna tizim platasi Yuqori tizimli avtobus chastotasi (FSB 1600 MGts) bilan protsessor tezligi ko'rsatkichi va qidiruv tezligi yuqori bo'ladi. Va agar sizda choti-yadroli protsessor va GeForce 280 GTX ga teng video kartalarni juftlashtirgan bo'lsangiz, parolni qo'pol kuch kodi o'z vaqtida tezlashadi. Aytmoqchimanki, vazifa CUDA texnologiyasidan jami 2 yil davomida olib tashlanganligini aytishim kerak edi, bu texnologiya uchun imkoniyatlarning yuqori salohiyati haqida gapirishga arziydi!

Visnovki

uchun bugungi texnologiya qarash parallellar soni CUDA, biz RAR arxivlari uchun parolni tiklash dasturini qo'llash bo'yicha ushbu texnologiyani rivojlantirish uchun barcha kuch va imkoniyatlarni berdik. Ushbu texnologiyaning istiqbollari haqida aytish kerak, berilgan texnologiya har doim teri odam hayotidagi o'rnini, uni qanday tez yozishni bilish, fan nima, vazifa nima, videoni qayta ishlash bilan bog'liq, iqtisodiy vazifani qanday yaratish, shvedcha aniq rozrahunka qilish, bularning barchasi siz eslay olmaydigan samarasizlikka olib keladi. Bugungi kunda lug'at allaqachon "uy superkompyuteri" iborasini o'z ichiga oladi; Ko'rinib turibdiki, bunday ob'ektni teri kabinasida haqiqatga kiritish uchun allaqachon CUDA deb nomlangan vosita mavjud. G80 chipi (2006) asosidagi kartalar chiqarilishidan boshlab, CUDA texnologiyasini qo'llab-quvvatlash uchun NVIDIA-ga asoslangan ko'p sonli kartalar chiqarildi, bu superkompyuterlar orzusini teri kabinasida amalga oshirish usuli sifatida. CUDA texnologiyasini qo'llash orqali NVIDIA mijozlar oldida o'z ishonchini oshiradi qo'shimcha imkoniyatlar yx obladnannya, yak allaqachon boylardan sotib olingan. CUDA tez orada yanada tez rivojlanadi va koristuvachiga butun dunyoni GPUda parallel hisob-kitoblarning barcha imkoniyatlari bilan tezlashtirishga umid qilish juda oz.

AMD/ATI Radeon arxitektura xususiyatlari

Bu yangi biologik turlarning odamlariga o'xshaydi, agar sohalarning rivojlanishi davomida jonli asoslar o'rtaga ulanishni kengaytirish uchun rivojlansa. Shunday qilib, GPU fokuslarni rasterlashtirish va teksturani ko'rsatishni tezlashtirib, ushbu fokuslarni qayta bo'yash uchun shader dasturlarini ishlab chiqishda qo'shimcha yaxshilanishlarni ishlab chiqdi. Í tsí zdíbnosti paydo bo'ldi níbíbnymymí í negrafíchnyh raschínni, í bir qator vipadkív yilda znachny vígrash v proizvodstí yilda vívrívíny z traditíynimi ríshenniami berish.

Biz uzoqdan o'xshashliklarni chizamiz - quruqlikda uzoq muddatli evolyutsiyadan so'ng, dengizlar dengizga kirib, katta dengiz qoplarini bosdi. Raqobatli kurashda savtlar yer yuzida paydo bo'lgan yangi prosutlar kabi g'alaba qozonishdi va shuning uchun u suvda hayotga moslashish uchun maxsus biriktirildi. Shunday qilib, GPU-ning o'zi 3D grafika uchun arxitekturaning birinchi pog'onasiga asoslanib, uzoq grafika turlarini ko'rish uchun shakllangan maxsus funktsional imkoniyatlarga tobora ko'proq qodir.

Xo'sh, GPUga dasturiy ta'minotni tanib olish sohasida energiya sektoriga da'vo qilishga nima imkon beradi? GPU mikroarxitekturasi boshqacha ilhomlantirildi, standart protsessorlarda pastroq va birinchi navbatda, asosiy ustunlikning asosi. Grafik menejeri ma'lumotlarni mustaqil ravishda parallel qayta ishlashni amalga oshiradi va GPU ko'p tarmoqli. Ale tsya parallelizm sizga rohatdan kam. Mikroarxitektura haqiqatda siqishni talab qiladigan ko'p sonli iplardan foydalanish uchun mo'ljallangan.

GPU o'nlab (Nvidia GT200 uchun 30, Evergreen uchun 20, Fermi uchun 16) protsessor yadrolaridan iborat bo'lib, ular Nvidia terminologiyasida Streaming Multiprocessor va ATI terminologiyasida SIMD Engine deb ataladi. Ushbu maqola doirasida biz ularni mini-protsessorlar deb ataymiz, chunki ular yuzlab dastur iplarini hidlashi mumkin va barchasida eng katta protsessor bo'lishi mumkin, ammo hammasi ham emas.

Marketing nomlari noto'g'ri - ular ko'proq ko'rish va ko'paytirish mumkin bo'lgan funktsional modullar sonini ko'rsatadi: masalan, 320 vektor "yadro" (yadro). Qi yadrolari donalarni ko'proq taxmin qiladi. Qisqacha GPUni boy yadroli protsessor sifatida tasavvur qiling ajoyib kilkistyu yadrolar, ular bir soatlik son-sanoqsiz iplardir.

Teri mini protsessorida mahalliy xotira mavjud, GT200 uchun 16 KB, Evergreen uchun 32 KB va Fermi uchun 64 KB (asosan, L1 keshini dasturlash). U bir soatlik kirish uchun standart protsessorning birinchi darajasidagi keshga o'xshash bo'lishi mumkin va u funktsional modullarga eng so'nggi ma'lumotlarni etkazib berishning o'xshash funktsiyalarini bajaradi. Fermi arxitekturasida mahalliy xotiraning bir qismi katta kesh kabi tuzatilishi mumkin. GPU o'ralgan iplar o'rtasida ma'lumot almashish uchun xizmat qiladigan mahalliy xotiraga ega. GPU-dasturlarining eng keng tarqalgan sxemalaridan biri quyidagicha: kobda mahalliy xotira GPUning global xotirasidagi ma'lumotlar bilan band. Bu shunchaki ovozli video xotira, u yashiringan (masalan, i tizim xotirasi) "o'z" protsessoridan tashqari - ba'zida video video kartaning tekstolitidagi mikrosxemalar bilan lehimlanadi. Biz ulardan mahalliy xotiraga ishlov berish va natijani global xotiraga yozish uchun bir necha yuzlab iplarni berdik, shundan so'ng u protsessorga o'tkaziladi. obov'yazku dasturchi yozma ko'rsatmalar zavantazhennya va mahalliy xotiradan vivantage ma'lumotlarni o'z ichiga oldin. Aslida, bu parallel ishlov berish uchun ma'lumotlarni [ma'lum bir vazifani] buzish maqsadidir. GPU shuningdek, xotirada yozish/o‘qish yo‘riqnomalarini qo‘llab-quvvatlaydi, ammo yoqimsiz hid samarasiz va barcha miniprotsessorlarni hisoblash natijalarini “yopishtirish” uchun yakuniy bosqichda ovoz chiqarishni talab qiladi.

Mahalliy xotira miniprotsessorda saqlanadigan barcha oqimlar uchun globaldir, masalan, Nvidia terminologiyasida u umumiy deb ataladi va mahalliy xotira atamasi to'g'ridan-to'g'ri qarama-qarshi ma'noni anglatadi, lekin o'zini: global xotirada ip atrofidagi shaxsiy maydon sifatida, u ko'rish mumkin, faqat mavjud. Ale krim mahalliy xotira mini-protsessorda yana bitta xotira maydoni, barcha arxitekturalarda obsyago uchun taxminan ikki baravar ko'p. Yun o'ralgan iplar bo'yicha o'rtamizda teng taqsimlanadi, o'zgarishlarni va oraliq hisoblash natijalarini saqlash uchun ro'yxatdan o'tkaziladi. O'nlab registrlar teri ipiga tushadi. Depozit uchun aniq vaqt miqdori miniprotsessor qancha ip yutganiga bog'liq. Bu raqam muhim, chunki global xotiraning kechikishi allaqachon katta, yuzlab belgilar va keshlarsiz oraliq natijalarni saqlashning hech qanday usuli yo'q.

GPU guruch uchun yana bir muhim narsa - bu "yumshoq" vektorizatsiya. Miniprotsessor terisi ko'p sonli modullarga ega bo'lishi mumkin (GT200 uchun 8 ta, Radeon uchun 16 ta va Fermi uchun 32 ta) va ularning barchasi faqat bitta dastur manzili bilan bir xil ko'rsatmalarga amal qilishi mumkin. Operandi har xil bo'lishi mumkin, turli mavzular o'ziga xosdir. Masalan, ko'rsatma ikkita registrni birlashtiring: bir soat ichida ular barcha xo'jalik binolari tomonidan hisobga olinadi, lekin registrlar boshqacha tarzda olinadi. Ma'lum bo'lishicha, ma'lumotlarni qayta ishlashga parallel bo'lgan GPU-dasturlarining barcha iplari dastur kodining orqasida parallel kursda qulab tushadi. Ushbu tartibda barcha hisoblash modullari teng ravishda mag'lub bo'ladi. Va agar dasturda razgaluzhennya orqali iplar kodga o'z yo'lida rozyyshlis bo'lsa, unda serializatsiya deb ataladigan narsa bo'lishi kerak. to'liq obsyazy obchislyuvalny modullar Shu vikoristovuyutsya, ip parchalari vikonannya turli ko'rsatmalarni topshirish uchun va sanab modullar bloki, biz allaqachon aytganimizdek, bir manzil bilan ko'rsatma kamroq vikonuvaty bo'lishi mumkin. I, ozumilo, o'z unumdorligi yuz foiz maksimal tushadi.

Vektorlashtirish SSE, MMX muqobillari bilan dasturlashsiz yana avtomatik ravishda amalga oshiriladigan afzallik. Í GPU o'zi farqlarni hal qiladi. Nazariy jihatdan, GPU uchun dasturlarni o'zgaruvchan modullarning vektor tabiati haqida o'ylamasdan yozish mumkin, ammo bunday dasturlarning tezligi juda yuqori bo'lmaydi. Minus vektorning katta kengligini bildiradi. Ko'proq yutib, funktsional modullarning nominal sonini kamaytiring va Nvidia GPU uchun 32 va Radeon uchun 64 bo'ling. Iplar o'zgaruvchan o'lchamdagi bloklar bilan kesilgan. Nvidia bu iplar blokini warp atamasi, AMD - to'lqin fronti deb ataydi, bu bir xil. Bu unvonda "hvilyovy front" ning 16 sanoqli xo'jalik inshootlarida chotiri xushmuomalalik uchun (katta uzunlikdagi ta'limni hisobga olish uchun) uzun 64 ip kesiladi. Muallif shu tarzda warp atamasini dengiz atamasi bilan bog'lash orqali bahslashadi, bu arqonning o'ralgan bo'laklaridan foydalanishni anglatadi. Shunday qilib, iplar "burmalanadi" va mustahkam aloqa o'rnatadi. Vtym, "to'lqin jabhasi" ham dengiz bilan bog'liq bo'lishi mumkin: ko'rsatmalar o'zlari shamol kabi, birin-ketin qirg'oqqa shoshilib, yordamchi binolarga etib boradi.

Agar barcha iplar vikonny dasturlari orqali o'tib ketgan bo'lsa (bitta tumandan qayta sotib olish) va bunday marosimda bitta ko'rsatma to'qilgan bo'lsa, unda hamma narsa mo''jizaviydir, lekin agar bo'lmasa, u yaxshilanadi. Ba'zi hollarda bir burilish yoki to'lqin jabhasidan iplar turli xil dastur sohalarida topiladi, badbo'y iplar guruhlariga bo'linadi, ular ko'rsatma raqami (boshqacha qilib aytganda, ko'rsatma ko'rsatkichi) qiymatiga ega bo'lishi mumkin. Avvalgidek, bir guruhning iplari bir vaqtning o'zida bir soat o'raladi - barcha iplar bir xil ko'rsatma bilan, lekin turli xil operandlar bilan o'raladi. Qatlamning uslubidagi o'zgarishlarning natijasi ko'proq, guruhdagi iplar soni sezilarli emas. Navit bir guruh sifatida bitta ipdan iborat bo'lib, baribir bir vaqtning o'zida vykonuvatisya stilks bo'ladi, skylki povny çözgü. Kirish joyida qo'shiq iplarini qo'shimcha maskalash uchun amalga oshiriladi, shunda ko'rsatmalar rasmiy ravishda yomon bo'ladi, lekin nayrang natijalari hech qanday joyda qayd etilmaydi va yovuz emas.

Bir vaqtning o'zida, teri miniprotsessor (Oqimli MultiProcessor yoki SIMD Engine) vykonuê ínstruktsíí istayman, scho bir nechta burilish (iplar havolasi) yotadi, o'qda o'nlab faol burilishlar bo'lishi mumkin, bu vikonuêtsí hisoblanadi. Bitta burilish ko'rsatmalariga rioya qilgan holda, miniprotsessor bu ipning iplari ko'rsatmalariga emas, balki boshqa burmaning ko'rsatmalariga amal qiladi. Bu burilish dasturning boshqa ma'lum bir qismida bo'lishi mumkin, lekin bu tezlikni oshirmaydi, shuning uchun faqat burilish o'rtasida barcha iplarning ko'rsatmalari to'g'ri keladi, ammo vykonannya uchun bir xil bo'ladi. to'liq tezlik.

20 SIMD Dvigatelli bu turdagi teri bir nechta faol to'lqinli jabhalarga ega, teri turi 64 ta ipga ega. Teri ipi qisqa chiziq bilan belgilanadi. Jami: 64×4×20=5120 ta mavzu

Shunday qilib, teri egri yoki to'lqin old tomoni 32-64 ipdan iborat bo'lganlarga qaraganda, miniprotsessorda deyarli bir kechada bo'lgan yuzlab faol iplar bo'lishi mumkin. Quyida biz miniprotsessorlarning ombor GPUlarida parallel iplar soni qanchalik ko'pligini, parallel iplar soni qanchalik ko'pligini, qanchalik katta ekanligini, qanchalik sovuq ekanligini ko'rishimiz mumkin.

GPUda stek yo'qligi juda achinarli, shuning uchun funktsiyalar parametrlari va mahalliy o'zgarishlarni saqlab bo'lmadi. Stack uchun ko'p sonli iplar orqali kristallda shunchaki bo'sh joy yo'q. Haqiqatan ham, GPU bir vaqtning o'zida 10 000 ga yaqin oqimlarni ishlayotganligi sababli, 100 KB ga bitta ip stekini kengaytirganda, umumiy saqlash hajmi 1 GB ni tashkil qiladi, bu standart video xotira hajmidan ko'proqdir. Tim kattaroq, GPU yadrosida qandaydir kengaytiriladigan bo'sh joy to'plamini joylashtirishning imkoni yo'q. Misol uchun, agar siz har bir ipga 1000 bayt stek qo'ysangiz, bitta miniprotsessor uchun atigi 1 MB xotira kerak bo'ladi, bu minprotsessorning umumiy lokal xotirasi va registrlarni saqlash uchun ajratilgan xotira uchun besh baravar ko'p bo'lishi mumkin.

Shuning uchun GPU dasturlarida rekursiya yo'q va siz funktsiya chaqiruvlaridan ayniqsa hayajonlanmaysiz. Dasturni kompilyatsiya qilishda barcha funktsiyalar vositachi kodsiz taqdim etiladi. Tse GPU blokirovkasi sohasini ro'yxatga olish tipidagi vazifalar bilan o'rab oladi. Ba'zan stek emulyatsiyasi va kichik takrorlash chuqurligi yoki atipik GPU yukiga ega global xotira rekursiv algoritmlari o'rtasida almashish mumkin. Buning uchun algoritmni maxsus kengaytirish, bir xil protsessorda muvaffaqiyatli tezlashtirish kafolatisiz amalga oshirish imkoniyatini ta'minlash kerak.

Fermi birinchi marta g'alaba qozongan virtual funktsiyalar imkoniyatini ko'rsatdi, lekin u charm iplar uchun ajoyib shved kesh kuni bilan ham cheklangan edi. 1536 ta ip uchun 48 KB yoki 16 KB L1 tushadi, shuning uchun dasturdagi virtual funktsiyalar kamdan-kam hollarda g'alaba qozonishi mumkin, aks holda stek uchun g'oliblikni oshirish uchun etarli global xotira mavjud va ko'proq foyda keltirmaydi.

Shu tariqa, GPU hisoblash spivprotsessori rolida taqdim etiladi, u ma'lumotlarni ushlaydi, badbo'y hid ma'lum bir algoritm bilan qayta ishlanadi va natija ko'rinadi.

Arxitekturaning afzalliklari

Ale vvazha GPU duzhe shvidko. Bunga yuqori multithreading yordam beradi. Ko'p sonli faol iplar tez-tez 500 tsiklga yaqin bo'lgan global video xotira atrofida kengaytirilgan katta kechikishni biriktirish imkonini beradi. Bu, ayniqsa, arifmetik operatsiyalarning zichligi yuqori bo'lgan kod uchun juda yaxshi. Shunday qilib, L1-L2-L3 keshlari ierarxiyasidagi tranzistorlar nuqtai nazaridan hech qanday yo'l kerak emas. Uni kristallga almashtirib, ko'rinadigan arifmetik unumdorlikni ta'minlab, ko'plab hisoblash modullarini joylashtirishingiz mumkin. Ayni paytda, burmaning bir ipi o'raladi, yuzlab iplar xotirjamlik bilan ma'lumotlaringizni tekshiradi.

Fermi yana bir teng o'lchamdagi taxminan 1 MB keshni taqdim etdi, ammo uni zamonaviy protsessorlarning keshlari bilan taqqoslab bo'lmaydi, yadrolar va turli xil dasturiy ta'minot hiylalari o'rtasidagi aloqa uchun ko'proq foydalanish mumkin. Go'yo yogo bibariya o'n minglab iplar orasida bo'lingandek, terida ahamiyatsiz majburiyat bo'ladi.

Global xotiraning Ale krym kechikishlari, hisoblash kengaytmasida hali ham shaxssiz kechikishlar mavjud, go'yo uni qabul qilish kerak. Qo'shimchalarni hisoblashdan birinchi darajali keshga, GPU ning mahalliy xotirasiga va registrlarga, shuningdek, ko'rsatmalar keshiga kristallning o'rtasida uzatish kechikishining yaxlitligi. Ro'yxatga olish fayli, mahalliy xotira sifatida, funktsional modullarda roztashovani okremo va ularga kirish taxminan ikkinchi o'nlab tsikllarga aylanadi. Va yana, iplar soni, faol burilishlar hali ham katta bo'lib, kechikishni samarali qo'lga kiritish imkonini beradi. Bundan tashqari, butun GPU-ning mahalliy xotirasiga kirish uchun o'tkazish qobiliyati (o'tkazish qobiliyati) muhim ahamiyatga ega, shu bilan birga saqlash mini-protsessorlari soni yaxshilandi, zamonaviy protsessorlarda birinchi darajali keshga kirish o'tkazish qobiliyati sezilarli darajada oshdi. GPU soatiga sezilarli darajada ko'proq ma'lumotni qayta qurish mumkin.

Aytish mumkinki, agar GPU ko'p sonli parallel iplarni ta'minlay olmasa, u nol unumdorlikka olib keladi, shuning uchun u bir xil tezlikda ishlaydi, menga ko'proq chalkashliklar kerak bo'ladi va biz olamiz. ancha kam ish. Misol uchun, 10 000 ta ipni bir nechta bilan almashtiramiz: unumdorlik taxminan ming marta kamayadi, chunki nafaqat barcha bloklar band bo'lmaydi, balki barcha kechikishlar paydo bo'ladi.

San'at va zamonaviy yuqori chastotali protsessorlar uchun kechikishlarni biriktirish muammosi, yupqalash usullarini qo'llash uchun - chuqur konveierizatsija, keyinchalik vykonannya ínstruktsíy (tartibdan tashqarida). Buning uchun kristalda joy egallagan katlamali rejalashtiruvchilar va ko'rsatmalar, turli buferlar va boshqalar kerak. Bitta ipli rejimda eng yaxshi samaradorlik uchun sizga kerak bo'lgan hamma narsa.

Ammo GPU uchun hamma narsa kerak emas, bu juda ko'p oqimli vazifalarni hisoblash uchun me'moriy jihatdan oqilona. Shunda sharob boylik oqimini mahsuldorlikka aylantiradi, xuddi faylasufning tosh qo'rg'oshinni oltinga aylantirganidek.

GPU piksellar nayranglari uchun optimal shader dasturlari uchun qo'shimchalar to'plami, ular, shubhasiz, mustaqil va parallel ravishda ko'chirilishi mumkin. Men har xil imkoniyatlarni (mahalliy xotira va video xotiraga manzilli kirish, shuningdek, soddalashtirilgan ko'rsatmalar to'plami) qo'shish orqali evolyutsiyada aybdor bo'laman, bunga hali ham samarali ruxsat berilishi mumkin. cheklangan obsyagu obsyagu mahalliy xotirani amalga oshirish.

dumba

GPU uchun klassik vazifalardan biri tortishish maydonini yaratadigan N tilning o'zaro bog'liqligini hisoblash vazifasidir. Ammo agar biz, masalan, Yer-Oy-Quyosh tizimining evolyutsiyasini rivojlantirishimiz kerak bo'lsa, unda GPU biz uchun iflos yordamchidir: bir nechta ob'ektlar mavjud. Teri ob'ektidan oldin, boshqa ob'ektlarning umumiy sonini, masalan, jami ikkitasini hisoblash kerak. O'sha oylarda juda ko'p sayyoralar (taxminan bir necha yuzlab ob'ektlar) bo'lgan Sonyachny tizimi davrida GPU hali ham unchalik samarali emas. Vtym va oqimni boshqarish bo'yicha yuqori qo'shimcha xarajatlar orqali boy yadroli protsessor o'zining barcha kuchini ko'rsatolmaydi, lekin bitta tishli rejimda. Ammo agar asteroid kamaridagi kometalar va jismlarning traektoriyalarini kengaytirish zarur bo'lsa, bu GPU uchun allaqachon vazifadir, shuning uchun kengaytirish uchun kerakli miqdordagi parallel oqimlarni yaratish uchun etarli ob'ektlar mavjud.

GPU ham o'zini mehribon ko'rsatishi kerak, chunki yuz minglab yulduzlarning tor choraklarini tozalash kerak.

N tíl topshirig'ida GPU bosimini engishning yana bir imkoniyati, agar shaxs bo'lmagan vazifani hal qilish kerak bo'lsa, yuqori va oz miqdorda til bilan. Misol uchun, kob shvidkosning turli xil variantlari uchun bitta tizimning evolyutsiya variantlarini ishlab chiqish kerak. Buni samarali bajarish uchun siz GPUni muammosiz chiqarib olishingiz mumkin.

AMD Radeon mikroarxitekturasi tafsilotlari

Biz GPUni tashkil etishning asosiy tamoyillarini ko'rib chiqdik, video tahrirlash qurilmalari uchun uyqu hidi, boshoqdagi hidning hidlari bir maqsad uchun kichik - shader dasturlari. Prototipistlar mikroarxitekturani amalga oshirish tafsilotlarini kengaytirish qobiliyatini bilishgan. Boshqa ishlab chiqaruvchilarning protsessorlari ba'zan kuchli silkitsa-da, ular, masalan, Pentium 4 va Athlon yoki Core kabi. Nvidia arxitekturasi allaqachon keng ma'lum, bir vaqtning o'zida biz Radeon-ga qarashimiz mumkin va bu ushbu sotuvchilarning yondashuvlarining asosiy xususiyatlariga o'xshaydi.

AMD video kartalari Evergreen oilasidan asosiy e'tirofning to'liq narxini olib tashladi, ularda DirectX 11 spetsifikatsiyalarini avvalroq amalga oshirdilar.

Mahalliy xotirani kengaytirish tafsilotlari (Radeon uchun 32 KB, GT200 uchun 16 KB va Fermi uchun 64 KB) umuman muhim emas. AMD uchun 64 ta ipda to'lqin jabhasini qanday kengaytirish mumkin, Nvidia'da esa 32 ipga qarshi. Amalda, GPU dasturini osongina qayta sozlash va raqamli parametrlarga moslashtirish mumkinmi. Hosildorlik o'nlab yuzlab o'zgarishi mumkin, lekin GPU uchun bu unchalik muhim emas, chunki GPU dasturi o'n baravar yaxshi, CPU uchun pastki analog yoki o'n barobar tezroq eshitiladi yoki u ishlamaydi.

Eng muhimi, AMD VLIW (Very Long Instruction Word) texnologiyasidan foydalanadi. Nvidia vikorist skalyarlar oddiy ko'rsatmalar skalyar registrlar bilan ishlaydi. Їí̈ prikoryuvachí oddiy klassik RISCni amalga oshirish. AMD video kartalari GT200 bilan bir xil miqdordagi registrlarga ega bo'lishi mumkin, ammo 128 bitli vektor registrlari ham bo'lishi mumkin. Skin VLIW-instruktsiya ko'p sonli komponentli 32-bitli registrlar bilan ishlaydi, ular SSEga o'xshaydi, ammo VLIW imkoniyatlari yanada boy. SIMD emas (Single Instruction Multiple Data), SSE kabi - bu erda operandning teri juftligi uchun ko'rsatmalar boshqacha va o'xshash bo'lishi mumkin! Masalan, A registrining komponentlari a1, a2, a3, a4 deb nomlansin; B reestri uchun - xuddi shunday. Qo'shimcha yordam uchun bitta ko'rsatmani hisoblash mumkin, bir tsiklda qanday g'alaba qozonish mumkin, masalan, a1×b1+a2×b2+a3×b3+a4×b4 yoki ikki o'lchovli vektor (a1×b1+a2) ×b2, a3×b3+a4×b4 ).

GPU ning pastki chastotalarini, protsessorning pastki chastotalarini sekinlashtirish va qolgan yillarda texnik jarayonlarni kuchli o'zgartirish mumkin bo'ldi. Bu bilan, hech qanday rejalashtiruvchiga ehtiyoj yo'q, ko'p odamlar urish uchun urishadi.

Vektor ko'rsatmalariga rioya qilgan holda, Radeonning bir aniqlikdagi raqamlardagi eng yuqori mahsuldorligi allaqachon yuqori va allaqachon terafloplarga aylanadi.

Bitta vektor registr to'rtta bitta aniqlik sonini almashtirishi va o'zgaruvchan aniqlik sonini saqlashi mumkin. I bitta VLIW-ko'rsatmasi ikkita juft sonni qo'shishi yoki ikkita sonni ko'paytirishi yoki ikkita sonni ko'paytirishi va uchinchisiga qo'shishi mumkin. Shunday qilib, dublning eng yuqori mahsuldorligi floatnikidan taxminan besh baravar past. Eski Radeon modellari uchun Nvidia Tesla-ning yangi Fermi arxitekturasidagi ishlashi GT200 arxitekturasidagi qo'sh kartalarning ishlashidan yuqori va pastroq. Fermi asosidagi eski Geforce video kartalari uchun ikki marta hisoblashning maksimal tezligi to'rt barobar o'zgartirildi.


Radeon robotining sxematik diagrammasi. Parallel ravishda 20 ta miniprotsessordan faqat bittasini taqdim etdi

GPU xacklari, protsessor xakerlari ustiga (x86-sumlarni o'zgartiramiz) aqldan ozish kuchini keltirib chiqarmaydi. GPU dasturi qandaydir oraliq kodga kompilyatsiya qilinadi va dastur ishga tushirilganda drayver kodni mashina ko'rsatmalariga kompilyatsiya qiladi. maxsus model. Yuqorida aytib o'tilganidek, GPU ishlab chiqaruvchilari o'zlarining GPUlari uchun samarali ISA (Ko'rsatmalar to'plami arxitekturasi) ni tezda ishlab chiqdilar va bu turlarni avloddan-avlodga o'zgartirdilar. Tse har qanday holatda dekoderning kunlik (zarur bo'lmaganligi sababli) ko'p mahsuldorlikni qo'shdi. Ammo AMD kompaniyasi oldindan ko'rib, oldinga bordi rasmiy format mashina kodi uchun dekodlash ko'rsatmalari. Xushbo'y hid ketma-ket (dastur ro'yxatidan) emas, balki bo'limlarga bo'linadi.

Orqa tomonda aqlli o'tish uchun ko'rsatmalar bo'limi mavjud, go'yo siz turli o'tishlar uchun mos bo'lgan arifmetik ko'rsatmalarni uzilishlarsiz bo'limlarga majburlashingiz mumkin. Ular VLIW bundles (VLIW-instruction links) deb ataladi. Ushbu bo'limlarda faqat registrlar yoki mahalliy xotiradan olingan ma'lumotlarga ega arifmetik yozuvlar mavjud. Bunday tashkilot ko'rsatmalar oqimini boshqarishni va ularni qo'shimcha binolarga etkazib berishni osonlashtiradi. Biz VLIW-ínstruktsíí katta kengaytirish mayut, deb, vrakhovuychi, yanada chiroyli, uni qadrlaymiz. Îsnuyut ham xotiraga zvernenen ko'rsatmalar uchun bo'limlar.

Aqlli o'tish uchun ko'rsatmalar bo'limlari
0-bo'limTuzsizlantirish 0Arifmetik ko'rsatmalarni uzilishlarsiz 3-bo'limga yuborish
1-qismQayta ishlash 14-bo'lim uchun ariza
2-qismTuzsizlantirish 25-sonli bo'lim uchun ariza
Uzluksiz arifmetik ko'rsatmalarning bo'limlari
3-qismVLIW ko'rsatmasi 0VLIW ko'rsatmasi 1VLIW yo'riqnomasi 2VLIW ko'rsatmasi 3
4-qismVLIW yo'riqnomasi 4VLIW ko'rsatmasi 5
5-bo‘limVLIW ko'rsatmasi 6VLIW yo'riqnomasi 7VLIW ko'rsatmasi 8VLIW ko'rsatmasi 9

Ikkala GPU (va Nvidia va AMD) ham bitta aniqlikdagi raqamlar uchun asosiy matematik funktsiyalar, kvadrat ildiz, eksponensial, logarifm, sinus va kosinus siklida tez hisoblash bo'yicha ko'rsatmalarni o'z ichiga olishi mumkin. Men o'sha uchun maxsus sanab bloklari. Geometrik shaderlarda ushbu funktsiyalarni tezda yaqinlashtirish zarurati tufayli hid "bezovta qilindi".

Yakby GPU'lar grafikalar uchun g'alaba qozonishini bilmay turib, ko'proq xabardor bo'lib qoladi texnik xususiyatlar, keyin lahzaning vinolari belgisi uchun spivprotsessorlarning qanday raqamlari videopriskoryuvachivda qanday ko'rinishini taxmin qilish mumkin bo'ladi. Xuddi shunday, dengiz savtslarining qadimiy guruchlari ortida, vcheni o'zlarining ajdodlari quruqlik manbalari ekanligini tushundilar.

Va yana aniq guruch, qaysi binoga grafik qo'shimcha kabi ko'rinadi, qo'shimcha bilinear interpolasyon uchun ikki o'lchovli va uch o'lchovli teksturalarni o'qish barcha bloklari. Xushbo'y hid GPU dasturlarida keng qo'llaniladi, parchalar tezroq va faqat o'qish uchun mo'ljallangan ma'lumotlar massivlarini o'qish osonroq. GPU qo'shimchasining xatti-harakatlarining standart variantlaridan biri tashqi ma'lumotlarning massivlarini o'qish, ularni ro'yxatga olish yadrolarida qayta ishlash va natijani protsessorga qayta uzatiladigan boshqa massivga yozishdir. Bunday sxema standart va kengaytirilgan bo'lib, uni GPU arxitekturasi uchun mos qiladi. Global xotiraning bitta katta maydonida jadal o'qish va yozishni talab qiladigan vazifalar, bunday darajadagi ma'lumotlar orqasida turg'unlikdan o'ch olish uchun GPUda parallelizmni samarali amalga oshirish muhimdir. Bundan tashqari, ularning mahsuldorligi juda katta bo'lsa ham, global xotiraning kechikishiga bog'liq. Va vazifa "ma'lumotlarni o'qish - ishlov berish - natijani yozish" shablonida tasvirlangan narsadan siz GPU-da chiqishning katta o'sishini kuylashingiz mumkin.

GPU tekstura ma'lumotlari uchun birinchi va boshqa mintaqalarning kichik keshlarining ierarxiyasi mavjud. Vaughn va bezpechuê priskornnya víd vikoristannya to'qimalari. Ushbu ierarxiya grafik protsessorlarda to'qimalarga mahalliy kirishni tezlashtirish uchun paydo bo'ldi: aniqki, ikkilamchi piksel uchun bir pikselni qayta ishlashdan keyin (yuqori samaradorlik bilan) tekstura ma'lumotlarini yopish kerak. An'anaviy hisob-kitoblardagi ale va boy algoritmlar ma'lumotlarga kirishning o'xshash xususiyatiga ega bo'lishi mumkin. Bundan tashqari, grafikadagi tekstura keshlari ko'proq jigarrang bo'ladi.

Nvidia va AMD kartalari uchun L1-L2 kesh kengaytmalari taxminan o'xshash bo'lsa-da, bu, shubhasiz, grafik igorning optimalligi bilan bog'liq, ammo ushbu keshlarga kirishning kechikishi doimiy ravishda o'zgarib turadi. Nvidia-ning kirish kechikishi kattaroq va Geforce-ning tekstura keshlari birinchi navbatda ma'lumotlarga kirishni tezlashtirish o'rniga, xotira avtobusini tezlashtirishga yordam beradi. Bu grafik dasturlar uchun muhim emas, lekin dasturiy ilovalar uchun muhimdir. Radeon tekstura keshining kechikishi pastroq, lekin kichikroq protsessorlarning mahalliy xotira kechikishi yuqoriroq. Bunday misolni ko'rsatish mumkin: Nvidia kartalaridagi matritsalarni optimal ko'paytirish uchun mahalliy xotirani tezlashtirish, matritsani yonma-yon yo'q qilish tezroq va AMD yaxshiroq past kechikishli tekstura keshiga tayanish, iste'mol dunyosida matritsa elementlarini o'qish. Biroq, hali ham nozik optimallashtirishga erishish kerak va undan ham tubdan GPU algoritmiga o'tish kerak.

Bu jo'shqinlik, shuningdek, 3D teksturalarning har xil turlarida o'zini namoyon qiladi. AMD ning jiddiy ustunligini ko'rsatgan GPU bo'yicha hisoblash uchun birinchi mezonlardan biri 3D teksturalarni, arzimas ma'lumotlar to'plamidan amaliyot parchalarini bir marta va umuman qo'lga kiritdi. Va Radeon-ning teksturaga kirish kechikishi ancha tezroq va 3D rejimi fonda qo'shimcha ravishda optimallashtirilgan.

Otrimanna uchun maksimal mahsuldorlik turli kompaniyalar zalida, birinchi sozlash hisoboti ma'lum bir karta uchun talab qilinadi, lekin u GPU arxitektura uchun algoritm ishlab chiqish printsipi, ancha kam aniq, past bo'ladi.

Radeon 47xx seriyasini almashtirish

Ushbu oila uchun GPU bo'yicha hisoblash to'g'ri emas. Uchtasini nomlay olasizmi? muhim moment. Birinchi navbatda, mahalliy xotira yo'q, shuning uchun jismonan mumkin emas, lekin GPU dasturlarining joriy standarti talab qiladigan universal kirish imkoniyati yo'q. U global xotirada dasturiy jihatdan bo'lmaydi, shuning uchun u to'liq xususiyatli GPU ustida ishlashdan hech qanday foyda keltirmaydi. Yana bir jihat shundaki, xotira va sinxronizatsiya ko'rsatmalaridan atom operatsiyalari uchun turli ko'rsatmalarni qo'llab-quvvatlash qisqartirildi. I uchinchi daqiqa - yozuvlar keshini kichik kengaytirishni tugatish shart emas: dasturni kengaytirishdan boshlab tezlikni oshirish. Ê y ínshí dríbní obmezhennya. Aytish mumkinki, ushbu video kartada faqat GPU uchun juda mos bo'lgan dasturlardan foydalanish yaxshi bo'ladi. Bu kamroq registrlar bilan ishlaydigan oddiy sinov dasturlari bilan bo'lsin, video karta Gigaflops bilan yaxshi natijalarni ko'rsatishi mumkin, ammo uni samaraliroq dasturlash muammoli.

Afzalliklar va kamchiliklar Evergreen

Agar biz AMD va Nvidia mahsulotlarini taqqoslasak, GPU jihatidan 5xxx seriyasi GT200 ga qaraganda torroq ko'rinadi. Shu qadar qattiqki, u eng yuqori mahsuldorlikka erishish uchun Fermini ikki yarim barobarga ag'daradi. Ayniqsa, yangi Nvidia video kartalarining parametrlari qisqartirilganligi sababli, yadrolar soni qisqartirildi. Fermi-da L2 keshining paydo bo'lishi GPU-da ma'lum algoritmlarni amalga oshirishni osonlashtiradi va shu bilan GPU tiqilishi ko'lamini kengaytiradi. Xo'sh, so'nggi GT200 avlodini yaxshi optimallashtirish uchun Fermi arxitektura innovatsiyalarining CUDA dasturlari ko'pincha hech narsa bermadi. Xushbo'y hid hisoblash modullari sonining ko'payishiga mutanosib ravishda tezlashdi, shuning uchun u kamroq (bir aniqlikdagi raqamlar uchun) yoki kamroq, chunki xotira o'tkazish qobiliyati oshmagan (boshqa sabablarga ko'ra).

I GPU arxitekturasi uchun yaxshi bo'lgan, vektor tabiatini ko'rsatishi mumkin bo'lgan vazifalarda (masalan, ko'paytirilgan matritsalar), Radeon nazariy cho'qqiga yaqin ishlashni ko'rsatadi va Fermi'dan ustun turadi. Boy yadroviy protsessor haqida allaqachon ko'rinmaydi. Ayniqsa, bitta aniq raqamlar bilan bog'liq muammolarda.

Ale Radeon kamroq kristal maydoniga, kamroq termal tasvirga, energiyani tejashga, ko'proq tashqi va, shubhasiz, kamroq vartistga ega bo'lishi mumkin. Va 3D-grafikada hech qanday muammosiz Fermi g'alaba qozonadi, shuningdek, kristall sohasida kichikroq chakana savdo turi bo'lgan vzagali ê. Bu miniprotsessor uchun 16 ta qo'shimchali Radeon arxitekturasining soni, 64 ta ipda to'lqinlar old qismini kengaytirish va VLIW vektor ko'rsatmalari uchun ajoyib bosh vazifa ekanligi bilan izohlanadi. yoga - grafik shaderlarni hisoblash. Eng muhim o'yinchilar uchun o'yinlardagi samaradorlik va narx ustuvor hisoblanadi.

Professional, ilmiy dasturlarga nazar tashlaydigan bo'lsak, Radeon arxitekturasi mumkin bo'lgan eng yaxshi iqtisodiy samaradorlikni, har vattga mahsuldorlikni va vazifalarni bajarishda mutlaq unumdorlikni ta'minlaydi, bu printsipial jihatdan GPU arxitekturasini hurmat qiladi, parallellashtirish va vektorlashtirish imkonini beradi.

Misol uchun, vektorizatsiya qilish oson bo'lgan Radeon kalitlarini tanlash bo'yicha parallel vazifaning aksariyati Geforce-ga qaraganda tez-tez uchraydi va protsessordan o'nlab marta ko'proq.

Shu sababli, u AMD Fusion-ning asosiy kontseptsiyasini qo'llab-quvvatlaydi, buning sababi GPU protsessorni to'ldirish uchun mas'uldir va kelajakda u CPU yadrosiga birlashtirilishi mumkin, chunki avvalgidek, matematik protsessor kompyuterdan uzatilgan. protsessor yadrosiga yashil kristall Pentium protsessorlari). GPU integratsiyalangan grafik yadro va oqimli vazifalar uchun vektor protsessor bo'ladi.

Radeon funktsional modullardan foydalanganda ko'rsatmalarni turli xil to'lqinli jabhalar bilan aralashtirish uchun ayyor texnikani yutadi. Ishlash oson, ko'rsatmalarning parchalari butunlay mustaqil. Ushbu printsip joriy protsessorlar tomonidan mustaqil ko'rsatmalarni quvurli o'rashga o'xshaydi. Shubhasiz, bu sizga VLIW vektor ko'rsatmalarini ko'p baytni egallagan samarali birlashtirish imkonini beradi. Mustaqil ko'rsatmalarni ko'rsatish yoki Hyper-Threading texnologiyasidan foydalanish uchun protsessorga yig'iladigan rejalashtiruvchi kerak, chunki u protsessorni turli iplardan mustaqil ko'rsatmalar bilan himoya qiladi.

0 o'lchango'lchov 1o'lchov 2o'lchov 3bar 4o'lchov 5o'lchov 6o'lchov 7VLIW moduli
to'lqin old 0to'lqin fronti 1to'lqin old 0to'lqin fronti 1to'lqin old 0to'lqin fronti 1to'lqin old 0to'lqin fronti 1
instr. 0instr. 0instr. 16instr. 16instr. 32instr. 32instr. 48instr. 48VLIW0
instr. bittaVLIW1
instr. 2VLIW2
instr. 3VLIW3
instr. to'rttaVLIW4
instr. 5VLIW5
instr. 6VLIW6
instr. 7VLIW7
instr. sakkizVLIW8
instr. 9VLIW9
instr. o'nVLIW10
instr. o'n birVLIW11
instr. 12VLIW12
instr. 13VLIW13
instr. o'n to'rtVLIW14
instr. o'n beshVLIW15

64 ta operatsiyadan iborat bo'lgan ikkita to'lqin jabhasi uchun 128 ta ko'rsatmalar eng ko'p soatlar uchun 16 VLIW moduli bilan bog'langan. Chizish kerak va teri moduli tushunish uchun to'liq ko'rsatmalarga amal qilish uchun aslida ikkita tsiklni olishi mumkin, boshqa tsikldagi vinolarni parallel ravishda qayta o'ynash kerak. Imovirno, bu a1×a2+b1×b2+c1×c2+d1×d2 tipidagi VLIW-ko'rsatmalarni bekor qilishga yordam beradi, barcha soat sikllari uchun barcha bunday ko'rsatmalarni bekor qiladi. (Rasmiy ravishda tashqariga chiqing, soatiga bittadan.)

Nvidia, ehtimol, bunday texnologiyaga ega emas. VLIWsiz I, bir nechta skalyar ko'rsatmalar talab qilinadigan yuqori mahsuldorlik uchun yuqori chastotali termal tasvirni avtomatik ravishda ko'chiradigan va baland chiroqlarni osib qo'yadigan robotlar texnologik jarayon(yuqori yuqori chastota uchun sxemani loyihalash uchun).

GPU-hisoblash nuqtai nazaridan qisqa umr ko'rgan Radeon, aldanish nuqtasiga qadar juda yoqmaydi. GPU vzagaly yuqorida tasvirlangan texnologiya orqali razgaluzhennya shanyuyut emas vykonannya ínstruktsyy: bir dastur manzili bilan mavzular vydrazu guruhi. (Aytgancha, bu texnika SIMT deb ataladi: Yagona Ko'rsatma - Bir nechta mavzular (bitta ko'rsatma - ko'p iplar), SIMD ga o'xshash, bu erda bitta ko'rsatma turli jinsilar bilan bitta operatsiyadan iborat.) "yazuvannya iplari. Agar dastur vektorga asoslangan bo'lmasa, burma yoki to'lqin jabhasining kengayishi qanchalik katta bo'lsa, eng muhimi, keyingi dastur uchun kelajakda kengaygan taqdirda shuncha ko'p guruhlar tashkil etilishi tushuniladi. iplar, ketma-ket g'alaba qozonish kerak (seriyalashtirilgan). Faraz qilaylik, barcha iplar tarqaldi, xuddi dasturning 32 ta ipida burilish kengayishi davrida bo'lgani kabi, dastur 32 marta va undan ko'p amalda bo'ladi. Va razírozíru 64, Radeon kabi, - 64 marta ko'proq povylnyru.

Tse eslayman, lekin "dushmanlik" ko'rsatadigan yagona emas. Nvidia video kartalari CUDA yadrosi deb ataladigan teri funktsional moduliga ega va maxsus ishlov berish blokiga ega bo'lishi mumkin. Va 16 modulli Radeon video kartalari uchun arifmetik bloklarni boshqarish uchun jami ikkita blok mavjud (xushbo'y hid arifmetik bloklar sohasida ko'rsatilgan). Shunday qilib, aqlli o'tish uchun ko'rsatmalarga rioya qilish oson, natija to'lqin jabhasining barcha iplari uchun bir xil bo'lsin, qo'shimcha soat talab etiladi. I shvidkíst prosídaê.

AMD protsessorni aylantirmoqda. hidi vvazhayut, razgaluzhen katta soni bilan dasturlari uchun barcha bir CPU uchun ko'proq mos keladi, va vektor dasturlari uchun GPU tayinlash uchun.

Shunday qilib, Radeon samarali dasturlash uchun umuman kamroq imkoniyatni taklif qiladi, lekin turli xil rejimlar uchun eng yaxshi xarajat va samaradorlik nisbatini ta'minlaydi. Boshqacha qilib aytganda, dasturlarni protsessordan Radeonga samarali (hech qanday xarajatsiz) o'tkazish mumkin, Fermi-da kamroq, pastroq dasturlar samarali ishlashi mumkin. Prote tí, yaky samarali o'tkazilishi mumkin, boy hislarda yanada samarali Radeon pratsyuvatimut.

GPU-hisoblash uchun API

Radeon-ning texnik xususiyatlari juda yaxshi ko'rinadi, uni mukammal bo'lishiga yo'l qo'ymang va GPUda hisob-kitobni mutlaqo mutlaq qiling. Ammo unumdorlik uchun dasturiy ta'minot xavfsizligi muhim ahamiyatga ega bo'lib, u GPU-dasturlarini ishlab chiqish va ishlab chiqish uchun zarurdir - yuqori sifatli filmlar va ish vaqti uchun kompilyatorlar, ya'ni ishlaydigan dasturning bir qismi o'rtasidagi o'zaro ta'sirni o'zgartiruvchi drayver. protsessorda, ya'ni o'rta GPUsiz. Bu muhimroq, protsessor holatida pastroq bo'lishi kerak: protsessor uchun drayver kerak emas, bu ma'lumotlarni uzatishni boshqarishni yaxshilaydi va GPU kompilyatori kuchliroq ko'rinadi. Misol uchun, kompilyator oraliq natijalarni to'plash uchun registrlarning minimal sonidan foydalanish, shuningdek, registrlarning minimal soni bilan funktsiya davrlarini sinchkovlik bilan hisoblash uchun javobgardir. Agar vikorist ipning registri kamroq bo'lsa ham, ko'proq iplar ishga tushirilishi va GPU-ning ko'proq navantatsiyasi, xotiraga kirish uchun yaxshi vaqt bo'lishi mumkin.

Radeon mahsulotlari uchun dasturiy ta'minotni qo'llab-quvvatlashning birinchi o'qi hali ham zalni ishlab chiqishda davom etmoqda. (Nvidia bilan bog'liq vaziyat asosida, u erda ishga tushirildi va mahsulot yangi mahsulotga o'xshaydi.) Yaqinda AMD ning OpenCL kompilyatori beta holatiga erishdi, ammo bu katta ish emas. Vín duzhe tez-tez kechirim kodini ishlab chiqaradi yoki to'g'ri chiqish matnidan kodni tuzadi yoki kechirishni o'zi ko'rib, robot osilgan. Faqat bahor uchun viyshov yuqori amaliyotdan ozod qiladi. Vín tezh kechirmaydi, lekin ular sezilarli darajada o'zgardi va hidlar, qoida tariqasida, ular o'zaro to'g'rilikda dasturlashtirilgan bo'lsa, yomon chiziqlarda ayblanadi. Masalan, 4 baytlik choti-komponent o'zgarishini belgilash uchun uchar4 turidan foydalaning. Ushbu turdagi OpenCL spetsifikatsiyalarida mavjud, ammo Radeon-da u bilan ishlash mumkin emas, lekin 128-bitli narsani ro'yxatdan o'tkazing: bu ba'zi komponentlar, ammo 32-bit. Va uchar4 hammasi bitta kredit tsiliy registrining bunday o'zgarishi, faqat sizga qo'shimcha qadoqlash operatsiyalari va ocremi baytgacha bo'lgan komponentlarga kirish kerak bo'ladi. Tuzuvchi har kungi kechirimlar onasidan aybdor emas, lekin kamchiliksiz tuzuvchilar yo'q. Navit Intel Compiler 11-versiyasidan keyin kompilyatsiyani kechirishi mumkin. Kuzga yaqinroq bo'ladigan bo'lajak nashr uchun kechirimlar tuzatildi.

Va hali ham qo'shimcha yordam talab qiladigan jim nutqlar mavjud. Misol uchun, Radeon uchun standart GPU-drayveri OpenCL g'ayrioddiylari bilan GPU-hisoblashni qo'llab-quvvatlamaydi. Koristuvach qo'shimcha maxsus paketni tashkil qilish va o'rnatish uchun javobgardir.

Va eng muhimi - har qanday funktsiyalar kutubxonalarining mavjudligi. Subvariant aniqligining haqiqiy raqamlari uchun sinus, kosinus va eksponentni o'zgartirishning hech qanday usuli yo'q. Xo'sh, matritsalarni katlama-ko'paytirish uchun bu shart emas, lekin agar siz ko'proq katlamani dasturlashni istasangiz, barcha funktsiyalarni noldan yozishingiz kerak. SDK ning yangi versiyasini tekshiring. Asosiy matritsa funktsiyalarini qo'llab-quvvatlaydigan Evergreen GPU-vatan uchun ACML (AMD Core Math Library) tez orada ishlab chiqilishi mumkin.

Ayni paytda, maqola muallifining so'zlariga ko'ra, Radeon video kartalarini dasturlash uchun API Direct Compute 5.0 dan foydalanish tabiiydir. Windows platformasi 7 va Windows Vista. Microsoft kompilyatorlar haqida juda ko'p ma'lumotga ega bo'lishi mumkin va biz tez orada eng so'nggi ishlab chiqarish versiyasini tekshirishimiz mumkin, Microsoft bu borada to'liq iqtibos keltiriladi. Ale Direct Compute yo'nalishlari interaktiv qo'shimchalarni talab qiladi: siz natijani tekshirishingiz va vizualizatsiya qilishingiz mumkin - masalan, sirtni chetlab o'tish. Tse yoga shunchaki rozrahunkiv uchun yutib bo'lmaydi degani emas, lekin bu tabiiy tan olish uchun yoga degani emas. Aytaylik, Microsoft kutubxona funktsiyalarini Direct Compute-ga qo'shishni rejalashtirmaydi - xuddi shunday, AMD-da ular yo'q. Shunday qilib, Radeon-da bir vaqtning o'zida samarali ravishda xatoga yo'l qo'yilishi mumkin bo'lgan dasturlar - ularni yupqalash shart emas - OpenCL-ga qaraganda ancha sodda va barqaror bo'lgan Direct Compute-da amalga oshirilishi mumkin. Bundan tashqari, u ko'proq portativ, amaliy va Nvidia va AMD da, shuning uchun Nvidia va AMD tomonidan OpenCL SDK ni amalga oshirish unchalik qimmatga tushmasa ham, dasturni faqat bir marta kompilyatsiya qilishingiz kerak. (AMD OpenCL SDK versiyalari bilan AMD tizimlarida OpenCL dasturini kengaytirmoqchi bo'lganlar uchun Nvidia-da buni osonlikcha bajara olmasligingiz mumkin. Bu mumkin, Nvidia SDK versiyalaridan matnni kompilyatsiya qilish kerak. Birinchidan, men tushunaman.)

Keyin, OpenCL juda ko'p transsendental funktsiyalarga ega, OpenCL skeleti keng ko'lamli tizimlar uchun universal til dasturlash APIsi sifatida ishlab chiqilgan. I GPU, í CPU, í Hujayra. Shunday qilib, agar siz oddiy yadro tizimi (protsessor va video karta) uchun dastur yozishingiz kerak bo'lsa, OpenCL "yuqori darajada samarali" bo'lib ko'rinmaydi. Teri funktsiyasi o'nta parametrga ega bo'lishi mumkin va ulardan to'qqiztasi 0 ga o'rnatilishi mumkin. Va teri parametrini o'rnatish uchun siz parametrlarga ega bo'lishingiz uchun maxsus funktsiyani chaqirishingiz kerak.

To'g'ridan-to'g'ri hisoblashning birinchi asosiy striming plyusi shundaki, siz maxsus paketni o'rnatishingiz shart emas: sizga kerak bo'lgan hamma narsa allaqachon DirectX 11 da mavjud.

GPU ishlab chiqish muammolari

Sferani olishga nima deysiz shaxsiy kompyuterlar, Vaziyat quyidagicha: katta miqdordagi bosim va kuchli ikki yadroli protsessorga muhtoj bo'lmaganlar uchun unchalik boy vazifa yo'q. Dengizdan quruqlikka, buyuk oddiy, ammo to'xtatib bo'lmaydigan yirtqich hayvonlar, lekin quruqlikda hech narsa. Er yuzidagi birinchi sokin turar-joylar atirgulzorlarda o'zgarib, kamroq tinchlana boshlaydi, go'yo ular doimo tabiiy resurslar tanqisligi oldida edilar. Yakby ayni paytda unumdorlikka bo'lgan ehtiyoj, 10-15 yil oldin bo'lgani kabi, GPU-hisoblash portlash bilan qabul qilinadi. Shunday qilib, GPU-dasturlashning izchilligi va vizual murakkabligi muammolari birinchi o'ringa chiqadi. Barcha tizimlarda ishlaydigan dastur yozish yaxshiroq, pastroq dastur tez ishlaydi, lekin faqat GPUda ishlaydi.

Professional qo'shimchalar va ish stantsiyalari sektorlarida vikoristannya nuqtai nazaridan GPU istiqbollaridan yaxshiroq Descho, unumdorlikda ko'proq chiplar mavjud. GPU yordamida 3D muharrirlari uchun plaginlar mavjud: masalan, tahrirlash o'zgarishlari yordami uchun renderlash uchun - ajoyib GPU renderidan adashmang! Katlama effektlarini yaratishni tezlashtirish uchun 2D muharrirlari va taqdimot muharrirlariga murojaat qiling. Videoni qayta ishlash dasturlari ham GPU-ni bosqichma-bosqich tartibga soladi. Parallel mavjudligi orqali Vyschenavedennya zavdannya GPU arxitekturasi uchun yaxshi, lekin ayni paytda katta kod bazasi yaratilgan, takomillashtirilgan, barcha CPU imkoniyatlari uchun optimallashtirilgan, shuning uchun yaxshi GPU ilovalari paydo bo'lishi uchun bir soat vaqt kerak bo'ldi.

Ushbu segmentda GPU ning bunday zaif tomonlari ko'rsatilgan, chunki talab qilinadigan video xotira miqdori eng yaxshi GPUlar uchun taxminan 1 GB ni tashkil qiladi. GPU-dasturlarining unumdorligini pasaytiradigan asosiy omillardan biri bu protsessor va GPU o'rtasida to'liq shina orqali ma'lumot almashish zarurati va xotirani to'sib qo'yish orqali ko'proq ma'lumotlarni uzatish mumkin. Va bu erda GPU va protsessorni bitta modulda qanday yangilash haqida AMD kontseptsiyasi istiqbolli ko'rinadi: siz yuqori narxni qurbon qilishingiz mumkin. o'tkazish qobiliyatini qurish global xotiraga oson va oddiy kirish uchun grafik xotira, kamroq kechikish bilan. Eng so'nggi DDR5 video xotirasining eng yuqori xotira o'tkazuvchanligi vositachisiz ko'proq talab qilinadi grafik dasturlar Eng ko'p GPU hisoblangan dasturiy ta'minot nima. Vzagali, GPU va CPU xotirasi shunchaki GPU tiqilib qolish doirasini kengaytirish, kichik dasturiy ta'minot dasturlari uchun imkoniyatlar sonini ko'paytirishdir.

Ilmiy hisoblash sohasida eng ko'p GPU talab qilinadi. GPU asosidagi bir nechta superkompyuterlar allaqachon ishlab chiqilgan bo'lib, ular allaqachon matritsali operatsiyalarni sinab ko'rishda yuqori natijani ko'rsatmoqda. Fanlar juda xilma-xil va raqamli bo'lib, ular GPU arxitekturasidagi mo''jizaviy yolg'on kabi har doim shaxsan ma'lum bo'ladi, buning uchun GPU sizga yuqori mahsuldorlikni osongina olish imkonini beradi.

Kunning o'rtasi nima zamonaviy kompyuterlar birini tanlang, keyin siz bo'lasiz kompyuter grafikasi- Biz yashayotgan dunyo qiyofasi. Arxitektura esa shahar uchun maqbuldir, bu yomon bo'lishi mumkin emas. Tse pollar muhim ahamiyatga ega, buning uchun maxsus ishlab chiqilgan asosiy vazifa o'z-o'zidan ko'p qirrali bo'lishi va turli vazifalar uchun optimal bo'lishi mumkin. Bundan tashqari, video kartalar muvaffaqiyatli rivojlanmoqda.

C++ AMP yordami uchun GPU wiki

Parallel dasturlashning muhokama qilingan usullaridagi dosi protsessor yadrosidan boshqa narsaga o'xshamasdi. Biz ko'p sonli protsessorlar bilan dasturlarni parallellashtirishga, ikkita resurs resurslariga kirishni sinxronlashtirishga va blokirovka qilishni bloklamasdan bir nechta yuqori tezlikdagi sinxronizatsiya primitivlariga ba'zi yangi kelganlarni qo'shdik.

Biroq, dasturlarni parallellashtirishning yana bir usuli bor - grafik protsessorlar (GPU), ko'proq yadro soniga ega bo'lishi mumkin, pastroq yuqori unumdorlikdagi protsessorlar. Grafik protsessorlarning yadrolari ma'lumotlarni qayta ishlash uchun parallel algoritmlarni amalga oshirish uchun mo''jizaviy tarzda mos keladi va ularning ko'pligi ularda ishlaydigan dasturlarning ishlab chiqarilmaganligi uchun juda ko'p pul to'laydi. Ushbu maqolada biz C++ nomli film kengaytmalari to'plamiga ega grafik protsessorda dasturlarni dasturlash usullaridan birini bilamiz. C++ AMP.

C++ AMP kengaytmasi mening C++-ga asoslangan va bu maqola mening C++ ilovamni ham namoyish etadi. Biroq, g'alaba qozongan o'zaro ta'sir mexanizmi bilan. NET da siz C++ AMP algoritmlarini .NET dasturlaringizga burishingiz mumkin. Ale, keling, ular haqida, masalan, statistika haqida gapiraylik.

C++ AMP ga kirish

Aslida, grafik protsessor xuddi shunday protsessorning o'zi, xuddi boshqacha bo'lsa-da, lekin maxsus ko'rsatmalar to'plami, ko'p sonli yadrolar va uning xotiraga kirish protokoli bilan. Biroq, bugungi grafik va ajoyib protsessorlar o'rtasida ajoyib tushunchalar mavjud va ular samarali g'alaba qozonadigan dasturlarni yaratish oqilona. uyqusiz charchoq grafik protsessor.

    Zamonaviy grafik protsessorlar hali ham kichik ko'rsatmalar to'plamiga ega bo'lishi mumkin. Birja faoliyatini uzatish: funksiyalar chaqiruvining mavjudligi, qo'llab-quvvatlanadigan ma'lumotlar turlarini to'plash, kutubxona funktsiyalarining mavjudligi va boshqalar. Deyakí operatíí̈, takík íkíninínií í o'tishlar ancha qimmatga tushishi mumkin, nízh allíng allíẑolíchní í, scho vykonuyutsya katta protsessorlarda. Bunday aqllar uchun katta hajmdagi kodni protsessordan grafik protsessorga o'tkazish katta kuch talab qilishi aniq.

    O'rtacha grafik protsessordagi yadrolar soni sezilarli darajada kattaroq, o'rtacha protsessorda kamroq. Biroq, zavdannya harakatlari juda kichik ko'rinadi yoki ular grafik protsessorning bloklanishidan foyda olishlari uchun ko'p sonli qismlarni parchalashga imkon bermaydi.

    Grafik protsessor yadrolari o'rtasidagi sinxronizatsiya vaqti, ular bir kun, hatto biroz o'rnatilishi kerak va grafik protsessor yadrolari o'rtasida bir kundan ko'proq vaqt o'rnatilishi kerak. turli vazifalar. Bu muhit grafik protsessorni ustun protsessor bilan sinxronlashtirishni anglatadi.

Yana bir bor, grafik protsessorda qanday vazifalarni bajarish uchun mos keladi? Yodda tutingki, har bir algoritm grafik protsessorda ishlash uchun mos emas. Masalan, grafik protsessorlar kirish / chiqish qurilmalariga kirishga ruxsat bermaydi, shuning uchun siz dasturlarning samaradorligini oshirolmaysiz, chunki ular grafik protsessorning ish stoli uchun Internetdan RSS liniyalarini oladi. Biroq, grafik protsessorga juda ko'p hisoblash algoritmlarini o'tkazish va ommaviy parallellashtirishni ta'minlash mumkin. Quyida bunday algoritmlarning bir nechta misollarini ko'rsating (ro'yxat to'liq emas):

    zbylshennya va tasvirning aniqligini o'zgartirish va boshqa o'zgarishlar;

    Shvidke Fur'ê qayta ixtirosi;

    matritsalarni transpozitsiya va ko‘paytirish;

    raqamlarni tartiblash;

    Hash inversiyasi "peshonada".

Microsoft Native Concurrency blogidan ilg'or ilovalar uchun ma'lumotnoma sifatida foydalanish mumkin, bu erda siz C ++ AMP da amalga oshirilgan turli xil algoritmlar uchun kod bo'laklari va ularga tushuntirishlarni topishingiz mumkin.

C++ AMP bu Visual Studio 2012 omboriga kiritilgan ramka boʻlib, u C++ sotuvchilariga grafik protsessorda hisoblashning oson yoʻlini beradi va DirectX 11 drayverini kamroq ravshan qiladi.

C++ AMP ramkasi sizning kodingizni o'rashga imkon beradi grafik tezlatgichlar, bular xo'jalik inshootlari hisoblanadi. DirectX 11 drayveri yordamida C++ AMP ramkasi tezlikni dinamik ravishda ochib beradi. C ++ AMP ombori shuningdek, grafik protsessorsiz yoki grafik protsessorli yoki DirectX 11 drayveri va vikorist yadrolari bo'lmagan tizimlar uchun zaxira variant sifatida xizmat qilish uchun standart protsessor, WARP asosidagi dasturiy emulyator va emulyatorni o'z ichiga oladi. va SIMD ko'rsatmalari.

Va endi grafik protsessorda vizualizatsiya qilish uchun parallellashtirilishi mumkin bo'lgan algoritmni tugatishga o'tamiz. Quyidagi dastur ikkita vektor va bir xil qiymatni qabul qiladi va har bir nuqta uchun natijani hisoblaydi. To'g'ridan-to'g'ri ta'kidlash muhim:

Void VectorAddExpPointwise(float* birinchi, float* ikkinchi, float* natija, int length) ( for (int i = 0; i)< length; ++i) { result[i] = first[i] + exp(second[i]); } }

Katta protsessorda algoritmning parallelligini kengaytirish uchun iteratsiyalar diapazonini pastki diapazonlarga bo'lish va ularning terisi uchun bitta vikonatsiya ipini o'tkazish kerak. Biz hazilning birinchi qismini parallellashtirishning aynan shu usuliga bagattoni oldingi maqolalarda bir soat yakunlashga bag'ishladik. tub sonlar- biz oqimlarni qo'lda yaratish, vazifalarni oqimlar hovuziga o'tkazish va avtomatik deparallelizatsiya uchun Parallel.For va PLINQ dan foydalanish orqali buni qanday qilishni ishlab chiqdik. Tasavvur qiling-a, shunga o'xshash algoritmlarni yuqori protsessorda parallellashtirganda, biz vazifani turli vazifalarga ajratmaslik uchun ayniqsa ikki baravar oshirdik.

Grafik protsessor uchun soat tezligi shart emas. Grafik protsessorlar oqimlarni tezroq boshqarishi mumkin bo'lgan shaxsiy bo'lmagan yadrolarni yaratishi mumkin va kontekstni almashtirishning o'zgaruvchanligi maxsus protsessorlarda sezilarli darajada past bo'ladi. Fragment quyida joylashgan bo'lib, u funksiyani ta'kidlashi kerak parallel_har bir_uchun C++ AMP ramkasidan:

#o'z ichiga oladi #o'z ichiga oladi nomlar maydonining parallelligidan foydalanish; void VectorAddExpPointwise(float* birinchi, float* ikkinchi, float* natija, int length) ( array_view avFirst(uzunlik, birinchi); massiv_ko'rinishi avSecond(uzunlik, soniya); massiv_ko'rinishi avResult(uzunlik, natija); avResult.discard_data(); parallel_for_heach(avResult.extent, [=](indeks<1>i) cheklash(amp) (avResult[i] = avFirst[i] + fast_math::exp(avSecond[i]); )); avResult.synchronize(); )

Endi okremo kodining teri qismini doslídzhuêmo. Bosh pastadirning asosiy shakli saqlanganligi juda hurmatga sazovor, lekin orqada teskari bo'lgan pastadir parallel_for_each funksiyasini tez bosish bilan almashtirildi. Darhaqiqat, tsiklni hafta bosish funksiyasiga yoki usulga aylantirish printsipi biz uchun yangilik emas - avvalroq bunday texnika TPL kutubxonasidan Parallel.For() va Parallel.ForEach() usullaridan allaqachon namoyish etilgan edi. .

Dali, kirish ma'lumotlari (birinchi, ikkinchi va natija parametrlari) misollarga o'raladi massiv_ko'rinishi. array_view klassi ma'lumotlarni gagging qilish uchun ishlatiladi, chunki u grafik protsessorga uzatiladi (shifrlangan). Ushbu shablon parametri ma'lumotlar turini va uning hajmini aniqlaydi. Ma'lumotlarga yuborilayotgan grafik protsessor ko'rsatmalariga yozish uchun biz asosiy protsessorga yozishni boshlaymiz, agar grafik protsessordan ma'lumotlarni nusxalashda yordam bera olsak, zamonaviyroq grafik kartalar va xotiraga ega okremiy yordamchi inshootlar mavjud. array_view misollarini o'chirmang - yordam uchun va faqat yomon hid zarur bo'lganda ma'lumotlarni xavfsiz nusxalash.

Agar grafik protsessor muddati o'tib ketgan bo'lsa, ma'lumotlar qaytadan ko'chiriladi. Const tipidagi argumentga ega array_view misolini yaratish orqali biz birinchi va ikkinchisi grafik protsessor jumboqiga koʻchirilishini va orqaga koʻchirilmasligini kafolatlaymiz. Xuddi shunday, qo'ng'iroq qilish discard_data(), biz natijani yulduz protsessorining xotirasidan eng tezkor xotiraga nusxalashni o'z ichiga olamiz, aks holda ma'lumotlar to'g'ridan-to'g'ri qaytishga ko'chiriladi.

Parallel_for_each funksiyasi kengaytma ob'ektini qabul qiladi, u ma'lumotlar shakli va kengaytma ob'ektidagi teri elementiga chizish funksiyasini belgilaydi. Ushbu ilovada lambda funktsiyasi g'olib bo'ldi va ular uchun hiyla ISO C ++ 2011 (C ++ 11) standartida paydo bo'ldi. Cheklash (amp) kalit so'zi kompilyatorga grafik protsessordagi funksiya tanasini bekor qilish qobiliyatini bekor qilishni va grafik protsessor ko'rsatmalariga kompilyatsiya qilib bo'lmaydigan C++ sintaksisining ko'p qismini o'z ichiga olishini buyuradi.

lambda funksiyasi parametri, indeksi<1>Ob'ekt bitta indeksni ifodalaydi. Vín g'olib bo'lgan miqyos ob'ektini tasdiqlashda aybdor - biz miqyos ob'ektini ikki o'lchovli deb ovoz berdik (masalan, tashqi ma'lumotlar shaklini ikki dunyo matritsasiga belgilash orqali), indeks ham ikkita bo'lganligi uchun aybdor. - o'lchovli. Bunday vaziyatning misoli, biroz pastroq yo'l-yo'riq ko'rsatishdir.

Zreshtoyu, viklik usuli sinxronlash() Masalan, VectorAddExpPointwise usuli grafik protsessor tomonidan yaratilgan array_view avResult dan hisoblangan natijalar nusxasini natijalar massiviga qaytarishni kafolatlaydi.

Shu maqsadda biz C ++ AMP nuri bilan birinchi tanishuvimiz bo'ldi va endi biz grafik protsessorda parallel hisob-kitoblarning afzalliklarini ko'rsatadigan hujjatlarni, shuningdek, ko'proq ilovalarni taqdim etishga tayyormiz. Vektorli katlama eng yaxshi algoritm emas va katta hajmdagi ma'lumotlarni nusxalash orqali grafik protsessorning ko'p qirraliligini namoyish qilish uchun eng yaxshi nomzod emas. Hujumkor pídrozdíli da ikki cíkavíshí dumba ko'rsatiladi.

Matritsalarni takrorlash

Dunyoga ko'rinadigan birinchi "mos yozuvlar" dumbasi ko'p matritsalardir. Amalga oshirish uchun biz kubik ~O (n 2.807) ga yaqin bo'lgan Strassen algoritmini emas, balki oddiy kubik matritsani ko'paytirish algoritmini olamiz. Ikki matritsa uchun: m x w o'lchamli A matritsasi va w x n o'lchamli B matritsasi, keyingi dastur ko'paytiriladi va natijani aylantiradi - m x n o'lchamli C matritsasi:

Void MatrixMultiply(int * A, int m, int w, int * B, int n, int * C) ( uchun (int i = 0; i)< m; ++i) { for (int j = 0; j < n; ++j) { int sum = 0; for (int k = 0; k < w; ++k) { sum += A * B; } C = sum; } } }

Siz deparallelizatsiyani turli yo'llar bilan amalga oshirishingiz mumkin va agar siz yulduz protsessorida ishlash uchun kodni to'g'ri tanlash kerak bo'lsa, joriy tsiklning to'g'ri tanlovini to'g'ri tanlash. Biroq, grafik protsessor ko'p sonli yadrolarni boshqarishi mumkin va faqat joriy tsiklni parallellashtirgan holda, biz robot yordamida barcha yadrolarni qo'lga kiritish uchun etarli miqdordagi vazifalarni yarata olmaymiz. Shunday qilib, ikkita tashqi halqa o'rtasida parallellik hissi paydo bo'lishi mumkin va ichki pastadir bo'sh qoladi:

Void MatrixMultiply (int * A, int m, int w, int * B, int n, int * C) ( array_view avA(m, w, A); massiv_ko'rinishi avB(w, n, B); massiv_ko'rinishi avC(m, n, C); avC.discard_data(); parallel_for_heach(avC.extent, [=](indeks<2>idx) cheklash(amp) ( int sum = 0; for (int k = 0; k.).< w; ++k) { sum + = avA(idx*w, k) * avB(k*w, idx); } avC = sum; }); }

Bu amalga oshirish hali ham operator to'xtashi dan ichki tsikli uchun ikki o'lchovli va kirish mumkin uzumzor indeksi ortida, ko'proq qilingan bir necha matritsalar va vektor katlama keyingi amalga oshirish bashorat qilish uchun yaqin. Qaysi versiya oxirgi muqobildan yaxshiroq, qaysi biri kattaroq protsessor uchun yaxshiroq? 1024 x 1024 o'lchamli ikkita matritsani (raqamlarni) ko'paytirish Eng katta protsessordagi oxirgi versiya o'rtacha 7350 millisekundni oladi, xuddi grafik protsessor versiyasi bilan bir xil - uch barobar tezroq - 50 millisekund, 147 marta tezroq!

Zarrachalar harakatini modellashtirish

ko'proq taqdim grafik protsessor ustida rozv'yazannya vazifalarni Qo'llash, ichki halqa ham oddiy amalga oshirish bo'lishi mumkin. Sen bunday bo'lmasligingni anglab yetdim. Yuqorida aytib o'tilgan Native Concurrency holatida, zarralar orasidagi tortishish o'zaro ta'sirini modellashtirish ko'rinishi ko'rsatilgan. Modellashtirish son-sanoqsiz qismlarni o'z ichiga oladi; teri burmasida vektor elementlarining yangi qiymatlari hisoblab chiqiladi, so'ngra yangi koordinatalar aniqlanadi. Bu erda zarrachalar vektori parallellashtiriladi - siz ko'p sonli zarrachalarni (minglab va undan ko'p) tugatsangiz, robotlar grafik protsessorning barcha yadrolarini egallashi uchun juda ko'p sonli vazifalarni yaratishingiz mumkin.

Algoritmning asosi quyida ko'rsatilganidek, grafik protsessorga osongina o'tkazilishi mumkin bo'lgan ikkita zarracha o'rtasidagi o'zaro ta'sir natijasini amalga oshirishdir:

// bu erda float4 - bir nechta elementlarga ega vektor, // operatsiyalarda ishtirok etadigan zarralarni ifodalaydi. float absDist = dist.x * dist.x + dist.y * dist.y + dist.z * dist.z; float invDist = 1.0f/sqrt(absDist); = dist*PARTICLE_MASS*invDistCube;

Teri bo'shlig'i modelidagi ma'lumotlar zarrachalarning koordinatalari va tasodifiyligi bilan massiv bo'lib, natijada zarrachalarning koordinatalari va tasodifiyligi bilan yangi massiv yaratiladi:

Struktura zarrasi ( float4 pozitsiyasi, tezlik; // konstruktorni amalga oshirish, nusxa ko'chirish konstruktori // operator = 3 cheklov (amp) joyni tejash uchun o'tkazib yuborilgan); bekor simulyatsiya_bosqichi(massiv & oldingi, massiv & keyingi, int jismlar) (daraja<1>ext(tanalar); parallel_har biri (qo'shimcha, [&](indeks<1>idx) cheklash(amp) (zarracha p = oldingi; float4 tezlashuvi(0, 0, 0, 0); uchun (int tanasi = 0; tana)< bodies; ++body) { bodybody_interaction (acceleration, p.position, previous.position); } p.velocity + = acceleration*DELTA_TIME; p.position + = p.velocity*DELTA_TIME; next = p; }); }

Olingan vizual grafik interfeys tufayli simulyatsiya boshqacha bo'lishi mumkin. C++ AMP sotuvchilari jamoasi tomonidan taqdim etilgan so'nggi misolni Native Concurrency blogida topish mumkin. Mening tizimimda Intel Core i7 protsessori va 10 000 zarrachani taqlid qiluvchi Geforce GT 740M video kartasi kuchli protsessorda ishlaydigan oxirgi versiya uchun sekundiga ~2,5 kadr (soniyada kadr) oladi, ya'ni 16 kvadrat Grafik protsessorda o'zgartiriladigan versiyaning ikkinchi optimallashtirishlari - mahsuldorlikning eng katta o'sishi.

Birinchidan, ushbu bo'limni tugatamiz, iloji boricha grafik protsessorda ishlaydigan kodning unumdorligini oshirish uchun C ++ AMP ramkasining yana bir muhim xususiyatini ochib berish kerak. Grafik protsessorlarni qo'llab-quvvatlaydi ma'lumotlar keshini dasturlash(ko'pincha sarlavhalar xotira, scho rozdylyaa (umumiy xotira)). Har bir keshda saqlangan ma'nolar g'olib bitta mozaikaning (kafel) barcha oqimlari bilan to'kilgan. Xotiraning mozaik organizatorlari, C++ AMP tizimiga asoslangan dasturlar grafik xarita xotirasidan ma'lumotlarni bo'lingan mozaika xotirasiga o'qiy oladi va keyin ularni qayta ko'rib chiqmasdan o'nlab vikonaniya oqimlaridan ularga qaytishi mumkin. xotira grafik ma'lumotlar kartalari. Mozaika xotirasiga kirish taxminan 10 baravar tezroq, grafik karta xotirasiga nisbatan pastroq. Boshqacha qilib aytganda, sizda o'qish uchun sabablar bor.

Parallel halqaning mozaik versiyasi parallel_for_each usuliga o'tkazilishini ta'minlash uchun tiled_extent domeni, bu boy ob'ekt hajmini mozaikaning boy plitalariga ajratadi va mozaikaning o'rtasida oqimning global va mahalliy identifikatorini o'rnatuvchi tiled_index lambda parametri. Masalan, 16x16 matritsani 2x2 plitkalarga bo'lish mumkin (quyidagi eskizda ko'rsatilganidek) va keyin parallel_for_each funksiyasiga o'tish mumkin:

Hajmi<2>matritsa(16,16); tiled_extent<2,2>tiledMatrix = matrix.tile<2,2>(); har bir_uchun parallel_(tiledMatrix, [=](tiled_index<2,2>idx) cheklash (amp) ( // ...));

Bitta va bir xil mozaikaga qadar yotadigan vikonannyaning bir nechta oqimlaridan olingan terilar to'liq g'alaba qozonishi mumkin, ular dog'larda saqlanadi.

Matritsalar bilan operatsiyalarni bajarayotganda, grafik protsessorning yadrosida standart indeks indeksini almashtiring<2>, aktsiyalar kattaroq bo'lgani kabi, siz mag'lub bo'lishingiz mumkin idx.global. Mahalliy mozaik xotira va mahalliy indekslardan to'g'ri foydalanish hosildorlikning sezilarli darajada oshishini ta'minlaydi. Bir xil plitkaning barcha oqimlari tomonidan bo'ysundirilgan kafel xotirasini ovozli qilish uchun, mahalliy o'zgarishlar tile_static spetsifikatsiyasi bilan aytilishi mumkin.

Amalda, u ko'pincha bo'linadigan ovozsiz xotirani qabul qilish va turli oqimlarda to'rtta blokni ishga tushirish orqali g'alaba qozonadi:

Har bir_uchun parallel_(tiledMatrix, [=](tiled_index<2,2>idx) restrik(amp) ( // 32 bayt tile_static int local blokidagi barcha mavzular tomonidan taqsimlanadi; // ushbu mavzu uchun elementga qiymat belgilash local = 42; ));

Ko'rinib turibdiki, agar siz bo'linayotgan xotirani tartiblash imkoniga ega bo'lsangiz, xotiraga faqat turli xil sinxronizatsiya ruxsatini olishingiz mumkin; shunday qilib, oqimlar xotiraga o'girilib aybdor emas, doklar ulardan biri tomonidan boshlangan bo'lmaydi. Mozaikadagi oqimlarni sinxronlashtirish qo'shimcha ob'ektlar uchun birlashtiriladi kafel_to'siq(TPL kutubxonasidan To'siq sinfini taxmin qiladi) - ular tile_barrier.Wait() usulini chaqirishda davom etishlari mumkin, agar barcha mavzular tile_barrier.Wait deb chaqirsa, qo'ng'iroqni ko'proq aylantiradi. Masalan:

Har bir_uchun parallel (tiledMatrix, (tiled_index<2,2>idx) restrict(amp) ( // 32 bayt tile_static int local blokidagi barcha mavzular tomonidan taqsimlanadi; // bu mavzu uchun elementga mahalliy qiymatni yutish uchun qiymat belgilang = 42; // idx.barrier - tile_barrier misoli idx.barrier.wait(); // Endi bu oqimni "mahalliy" massivga aylantirish mumkin, // boshqa oqimlarning vikorist indekslari!);

Endi ma'lum bir dumbadan bilimni olib tashlash vaqti keldi. Keling, matritsalarni ko'paytirishni amalga oshirishga o'taylik, vikonana xotirani mozaik tashkil qilishni bloklamasdan va tasvirlangan yangi optimallashtirishga qo'shamiz. Matritsaning kengayishi 256 ga ko'paytiriladi deb faraz qiling - biz 16 x 16 bloklari bilan ishlov berishga ruxsat bermasligimiz kerak. protsessor keshini samarali ravishda yengib chiqadi).

Ushbu yondashuvning mohiyati hujumga olib borishdir. C i,j ni bilish uchun (natija matritsasining j ustunidagi i qatordagi element) A i, * (birinchi matritsaning i-qatori) í B *, j () orasidagi skalyar qo‘shimchani hisoblash kerak. boshqa matritsadagi j-ustun ). Biroq, bu qatorning xususiy skalyar yaratilishlarini hisoblash va natijalarning keyingi yig'indisini hisoblash bilan tengdir. Biz matritsalarni ko'paytirish algoritmini mozaik versiyaga aylantirish uchun muhitni sozlashimiz mumkin:

Void MatrixMultiply(int * A, int m, int w, int * B, int n, int * C) ( array_view avA(m, w, A); massiv_ko'rinishi avB(w, n, B); massiv_ko'rinishi avC(m, n, C); avC.discard_data(); parallel_for_heach(avC.extent.tile<16,16>(), [=](kafelli_indeks<16,16>idx) limit(amp) ( int sum = 0; int localRow = idx.local, localCol = idx.local; for (int k = 0; k)

Mozaikadagi teri oqimi (16 x 16 blok uchun 256 oqim yaratilgan) o'z elementini A va B chiqish matritsalaridagi fragmentlarning 16 x 16 mahalliy nusxalarida ishga tushirishida tasvirlangan optimallashtirishning mohiyati. z tsikh bloklari, va bir vaqtning o'zida barcha oqimlari teri qator va teri stovptsa 16 marta teskari bo'ladi. Bunday pídhíd suttêvo asosiy xotiraga hayvonlar sonini kamaytiradi.

Matritsa natijasining elementini (i,j) hisoblash uchun algoritmga birinchi matritsaning i-chi qatori va boshqa matritsaning j-chi qatori kerak bo‘ladi. Agar mozaikaning oqimlari 16x16 bo'lsa, diagrammalarda ko'rsatilgan va k=0 bo'lsa, birinchi va boshqa matritsalarning soyali joylari ajratilgan xotiraga o'qiladi. Keyingi bosqichda matritsa natijasining elementini (i,j) hisoblash, tashqi matritsalarning i-qator va j-ustunidan birinchi k elementning qisman skalyar qoʻshilishi hisoblab chiqiladi.

Kim uchun mozaik tashkilotning turg'unligi hosildorlikning katta o'sishini ta'minlaydi. Bir nechta matritsalarning mozaik versiyasi oddiy versiyadan tezroq va taxminan 17 millisekundni oladi (1024 x 1024 o'lchamdagi bir xil bitta matritsalar uchun), bu har bir versiyada 430 shvidga ko'proq, bu katta protsessorda tezroq!

Birinchidan, C++ AMP ramkasi haqida gapirishni tugatamiz, biz chakana sotuvchilar tomonidan ishlatiladigan vositalarni (Visual Studio-da) taxmin qilmoqchimiz. Visual Studio 2012, Visual Studio 2012 grafik protsessor (GPU) uchun proponuê nalagodjuvach, scho dozvolyaê vstanovlyvati nazorat qilish tochki, doslidjuvat stek viklikіv, chitati va zminyuvati snachennya lokalnix zminnix, chitati ta zminyuvatniy snachennya mahalliy zminnix (deyaki to'g'ridan-to'g'ri ishlab chiqarish dasturlari); grafik protsessorning tiqilib qolishi bilan bog'liq operatsiyalarni parallellashtirish uchun sizga qo'shimchaning harakatini baholash imkoniyatini beradi. Visual Studio dasturini qanday yaxshilash haqida qo'shimcha ma'lumot olish uchun "Himoya yordamchisi" maqolasiga o'ting. MSDN veb-saytida C ++ AMP dasturini moslashtirish.

B.NET grafik protsessorida hisoblashning muqobillari

Ushbu maqoladan oldin faqat mening C++-ga misollar, shuningdek, kerosin qo'shimchalarida grafik protsessor bosimini engishning proteo usullari ko'rsatildi. Yo'llardan biri grafik protsessorning yadrolari bilan ishlashni past darajadagi C ++ komponentlariga o'tkazish imkonini beruvchi birgalikda ishlash vositalaridan foydalanishdir. Ushbu yechim C++ AMP ramkasini buzishni xohlaydiganlar uchun tavsiya etiladi yoki siz C++ AMP-ning tayyor komponentlarini xakerlik qo'shimchalarida buzishingiz mumkin.

Ikkinchi usul - yadro kodidan bevosita grafik protsessor bilan ishlaydigan kutubxonani buzish. Bunday kutubxonalar kam. Masalan, GPU.NET va CUDAfy.NET (tijorat takliflari bilan xafa bo'lgan). Quyida GPU.NET GitHub omboridan misol keltirilgan, u ikkita vektorning skalyar yaratilishini amalga oshirishni namoyish etadi:

Umumiy statik bekor MultiplyAddGpu(double a, double b, double c) (int ThreadId = BlockDimension.X * BlockIndex.X + ThreadIndex.X; int TotalThreads = BlockDimension.X * GridDimension.X; (int ElementIdx = ThreadId) uchun

Kino kengaytmalarini (C++ AMP asosida) o‘zlashtirish osonroq va samaraliroqmi, teng kutubxonalarda o‘zaro aloqalarni tashkil qilish yoki IL filmiga o‘zgartirishlar kiritish osonroqmi, deb o‘ylayman.

O'shandan beri biz .NET va GPU-larda parallel dasturlash imkoniyatini ko'rganimizdan beri, hech kim parallel hisoblashni tashkil etish unumdorlikni oshirishning muhim usuli ekanligiga shubhani yo'qotmadi. Butun dunyo bo'ylab boy serverlar va ish stantsiyalarida cheksiz sonli ajoyib va ​​grafik protsessorlar mavjud, ular g'alaba qozonmaydi, chunki qo'shimchalar ularni bezovta qilmaydi.

Vazifa Parallel kutubxonasi bizga robotga markaziy protsessorning barcha mavjud yadrolarini qo'shishning noyob qobiliyatini beradi, ular sinxronizatsiya, topshiriqning transsendental bo'linishi va robotning asabiy buzilishlari orasidagi muammolarni hal qilishni xohlaydi.

C++ AMP ramkasi va grafik protsessorda parallel hisoblashlarni tashkil qilishning boshqa boy kutubxonalari grafik protsessorning yuzlab yadrolari orasidagi hisoblarni parallellashtirish uchun muvaffaqiyatli ishlatilishi mumkin. Nareshti, ê, ilgari tugallanmagan, hisob-kitoblarni taqsimlashning sovuq texnologiyalarining turg'unligi tufayli hosildorlikni oshirish qobiliyati, qolgan soatlarda ular axborot texnologiyalarini rivojlantirishning asosiy yo'nalishlaridan biriga aylandi. .

Go'yo men kompyuter bozorida noutbuklar sotadigan eng yirik kompaniyalardan birining texnik direktori bilan suhbatlashish imkoniga ega bo'ldim. Tsei "fahivets" noutbukning konfiguratsiyasi qanday kerakligini tushuntirish uchun kompaniyaning pin bilan namagavsya. Markaziy protsessorlar (CPU) soati tugagani va shu bilan birga barcha dasturlar grafik protsessorda (GPU) faol ravishda quvvatlanayotgani va noutbukning unumdorligi juda ko'p yogo monologiga o'xshardi. grafik protsessor tufayli bo'ladi, va CPU ustida hech qanday hurmat amalga oshirish mumkin emas. Texnik direktor boshlig'i bilan mutlaqo ahmoqona suhbatlashish va undan o'rganish imkoniyati borligini tushunib, vaqtni behuda o'tkazmay, boshqa pavilondan o'zimga kerakli noutbukni sotib oldim. Prote, sotuvchining bunday qichqiriqli qobiliyatsizligi meni hayratga soladi. Bulo b zrozumílo, yakbi vin meni sotib olish kabi aldashga harakat qildi. Yo'q. Vín schiro viriv gapirganlarga. Shunday qilib, ehtimol, NVIDIA va AMD sotuvchilari o'z nonlarini iste'mol qilishlari mumkin emas va ular hali ham zamonaviy kompyuterda grafik protsessorning hukmronlik roli haqida g'oyalarni singdirishga muvaffaq bo'lishdi.

Bugungi kunda grafik protsessor (GPU) uchun to'lovlar mashhur bo'lib borayotgani shubhasizdir. Biroq, markaziy protsessorning roli hech qanday tarzda kamaytirilmaydi. Bundan tashqari, agar siz ko'proq asosiy resurslarning ahamiyati haqida gapiradigan bo'lsangiz, unda bu kunda unumdorlik to'liq va ko'proq protsessor unumdorligida bo'ladi. Tobto GPU bo'yicha hisob g'alaba qozonish uchun emas, balki asosiy uchun qo'shimchalar soni muhimroqdir.

Bundan tashqari, GPU bo'yicha hisoblash ilmiy ishlanmalar uchun ixtisoslashgan HPC-tizimlariga qaraganda muhimroqdir. Va GPUda zastosovuyutsya mavjud bo'lgan koristuvach qo'shimchasining o'qi barmoqlarda qayta ishlanishi mumkin. Shuni inobatga olgan holda, shuni ta'kidlash kerakki, bu holda "GPU bo'yicha hisoblangan" atamasi butunlay to'g'ri emas va Ummonga kiritilishi mumkin. O'ng tomonda, dastur GPUda ishlayotgani, bu CPU ishlamayotganligini anglatmaydi. GPUdagi hisob-kitoblar zaryadni markaziy protsessordan grafik protsessorga o'tkazadi. Qoida tariqasida, markaziy protsessor band bo'lganda va grafik protsessorning markaziy protsessordan navbat bilan aylanishi vazifani bajarish vaqtini tezlashtirish uchun unumdorlikni oshirishga imkon beradi. Bundan tashqari, GPU-ning o'zi bu erda protsessor uchun o'z protsessor protsessorining rolini o'ynaydi, lekin ayni paytda uni qayta almashtirmaydi.

GPU-da hisoblash nima uchun bunday davo emasligini va nima uchun stverzhuvat noto'g'ri ekanligini tushunish uchun CPU qobiliyatini ag'darish qobiliyatini hisoblash nima, u o'rtasidagi farqni hisobga olish kerak. markaziy va grafik protsessor.

GPU va CPU arxitekturasidagi xususiyatlar

CPU yadrolari maksimal mahsuldorlikka ega bo'lgan oxirgi ko'rsatmalarning bir ipini bajarish uchun mo'ljallangan va GPU parallel ravishda ishlaydigan ko'rsatmalarning ko'p sonli iplarini bajarish uchun mo'ljallangan. Kimga polygaê tamoyillari vídminníst vídminníst grafíchnyh protsesorí víd centralnyh. Protsessor universal protsessor yoki umumiy tan olinadigan protsessor bo'lib, butun sonlarni, suzuvchi nuqtali raqamlarni qayta ishlaydigan yagona buyruqlar oqimining yuqori mahsuldorligiga erishish uchun optimallashtirilgan. Ma'lumotlar va ko'rsatmalar bilan xotiraga kirish bo'lsa, bu vipadkovym darajasidan ham muhimroqdir.

Protsessor ishlashini yaxshilash uchun hidlar shunday yaratilganki, ko'rsatmalar parallel ravishda yozilishi mumkin. Misol uchun, protsessor yadrolarida buyruqlar ketma-ketligidan keyingi buyruqlar bloki mavjud bo'lib, bu sizga buyruq tartibi bo'yicha ko'rsatmalarni qayta tartiblash imkonini beradi, bu bitta ip bo'yicha ko'rsatmalarni amalga oshirishning parallelligini oshirish imkonini beradi. Himoya qilish baribir ko'p sonli ko'rsatmalarni parallel ravishda yaratishga imkon bermaydi va protsessor yadrosi o'rtasida ko'rsatmalarni parallellashtirishning qoplamasi yanada muhimroq ko'rinadi. Aynan shu haqiqatga ko'ra, sirli e'tirofning protsessorlari oz sonli g'alaba qozongan bloklarga ega bo'lishi mumkin.

Hukumatning grafik protsessori tubdan farq qiladi. Buyruqlarning parallel oqimlarining ko'p sonli oxirigacha chin dildan prognoz qilingan. Bundan tashqari, buyruqlar oqimlari parallellashtiriladi va grafik protsessor uchun ko'rsatmalarni parallellashtirish uchun kundalik qo'shimcha xarajatlar yo'q. Tasvirni vizualizatsiya qilish topshiriqlarining grafik protsessori. Oddiy qilib aytganda, biz kirishda ko'pburchaklar guruhini qabul qilamiz, kerakli operatsiyalarni bajaramiz va chiqishda piksellarni ko'ramiz. Ko'pburchaklar va piksellarni qayta ishlash mustaqil bo'lib, ularni parallel ravishda qayta ishlash mumkin, faqat bitta turdagi. Shuning uchun, GPU-da ishni parallel tashkil etish orqali, CPU uchun ko'rsatmalarning ketma-ket oqimi ko'rinishida foydalanish oson bo'lgan juda ko'p turli xil bloklar mavjud.

Grafika va markaziy protsessorlar xotiraga kirish tamoyillari bo'yicha farqlanadi. GPU-ning xotiraga kirishini uzatish oson: tekstura teksturasi xotiradan o'qilishi bilanoq, ma'lum bir soat ichida er teksllari uchun atama keladi. Yozishda ham xuddi shunday yoziladi: kadr buferida piksel qayd etilishi bilanoq, bir necha taktikadan so'ng piksel yozib olinadi va uni o'zgartirish buyuriladi. Bu GPU, protsessorning old tomonida, shunchaki katta kengayish keshiga muhtoj emas va teksturalar uchun atigi bir necha kilobayt kerak bo'ladi. GPU va CPU uchun xotira bilan ishlashning differentsial va printsipi. Shunday qilib, barcha zamonaviy grafik protsessorlar biroz ko'proq xotira kontrollerlariga ega bo'lishi mumkin, bir xil grafik xotira tezdir, shuning uchun grafik protsessorlar yanada boy bo'lishi mumkin. haqida ko'proq xotira qurish hajmi, universal protsessorlar teng, bu parallel rozrakhunkiv uchun ham muhimroq, ma'lumotlarning ulug'vor oqimlari bilan ishlash.

Universal protsessorlarda b haqida Kristal maydonining ko'p qismini buyruqlar va ma'lumotlarning turli buferlari, dekodlash bloklari, apparat uzatish bloklari, dekodlash bloklari, buyruqlarni qayta tartiblash bloklari va birinchi, ikkinchi va uchinchi tenglarning keshlari egallaydi. Bu barcha apparat bloklari protsessor yadrosida ularning parallellashuvini hisoblash uchun raqamlanmagan buyruqlar oqimining bajarilishini tezlashtirish uchun kerak.

Vykonavchi bloklari o'zlari universal protsessorda kam joy egallaydi.

Grafik protsessorda esa, asosiy maydonni raqamli bloklarning o'zi egallaydi, bu sizga bir vaqtning o'zida minglab buyruqlar oqimini qayta ishlash imkonini beradi.

Aytish mumkinki, joriy protsessorlar asosida grafik protsessorlar ko'p sonli arifmetik amallarni parallel hisoblash uchun tan olingan.

Grafik bo'lmagan vazifalar uchun grafik protsessorlar sonini hisoblash mumkin, ammo faqat bu holda, ishlab chiqilayotgan vazifa GPUda joylashgan yuzlab grafik bloklarda algoritmlarni parallellashtirish imkoniyatini beradi. Zokrema, GPUdagi rozrachunkivning vizualizatsiyasi sizga bir necha marta natijalarini ko'rsatadi, agar matematik operatsiyalarning o'sha ketma-ketligi katta o'lpongacha zastosovuetsya bo'lsa. Eng qisqa vaqt ichida natijalarga erishiladi, hatto arifmetik ko'rsatmalar soni xotiraga keltirilsa ham, bu ajoyib. Ushbu operatsiya vikonannyamni boshqarishga kamroq yordam beradi, u bir nechta keshpam'yati talab qilmaydi.

Ilmiy tadqiqotlarning shaxssiz ilovalarini joriy qilish mumkin, de GPU ning samaradorlik nuqtai nazaridan protsessordan ustunligi hisoblanmaydi. Shunday qilib, molekulyar modellashtirish, gaz dinamikasi, ridin dinamikasi va GPU ustida razrahunkív biriktirilgan boshqa vydmínno dan ilmiy qo'shimchalar bir qator.

Bundan tashqari, vazifani ajratish algoritmi ming yoki undan ortiq oqimlarda parallellashtirilishi mumkinligi sababli, bunday muammoni GPU tiqilishidan ajratish samaradorligi yuqori bo'lishi mumkin, pastroq bo'lsa, faqat bitta tanib olish protsessorini parchalash mumkin. Biroq, protsessor va GPU turli buyruqlarga ega bo'lsa, bunday vazifalarni hal qilishni CPUdan GPUga o'tkazish unchalik oson emas. Ya'ni, agar dastur protsessorda yozilgan bo'lsa, u holda x86 buyruqlar to'plami o'rnatiladi (yoki protsessorning o'ziga xos arxitekturasidan jamlangan buyruqlar to'plami) va grafik protsessor uchun o'qi allaqachon yoziladi. Xuddi shu boshqa buyruqlar to'plami, shuning uchun siz hali ham ushbu arxitekturani himoya qilishingiz mumkin. Zamonaviy 3D tog'larni ishlab chiqishda dasturchilarga shaderlar va teksturalar bilan ishlash imkonini beruvchi DirectX va OrenGL API-lari o'rnatiladi. Biroq, grafik protsessorda grafik bo'lmagan hisob-kitoblar uchun DirectX va OrenGL API-laridan foydalanish eng yaxshi variant emas.

NVIDIA CUDA va AMD APP

Birinchi marta, agar siz birinchi bo'lib ishlay boshlasangiz, BrookGPU vino kompilyatori GPU (General Purpose GPU, GPGPU) da grafik bo'lmagan hisob-kitoblarni amalga oshirishga harakat qiling. Shu vaqtgacha chakana sotuvchilar video karta resurslariga API OpenGL va Direct3D grafiklari orqali kirishlari kerak edi, bu dasturlash jarayonini sezilarli darajada osonlashtiradi, ammo ba'zi aniq bilimlar kerak edi - ular 3D ob'ektlar (shaderlar, teksturalar va boshqalar). Tse dasturiy mahsulotlarda yashirin zastosuvannya GPGPU sababi bo'ldi. BrookGPU o'zining tarjimoniga aylandi. Ci filmiga kengaytirilgan Qi oqimlari trivimer API dasturchilari tomonidan qabul qilingan va negadir 3D-dasturlash bo'yicha bilimga bo'lgan ehtiyoj yo'qolgan bo'lishi mumkin. Video kartalarning charchoqlarini hisoblash dasturchilarga parallel kengayish uchun qo'shimcha protsessor ko'rinishida mavjud bo'ldi. BrookGPU kompilyatori faylni C kodi va kengaytmalari, beva kodi bilan qayta ishlagan, DirectX yoki OpenGL-ni qo'llab-quvvatlagan holda kutubxonaga bog'langan.

Nima uchun BrookGPU, NVIDIA va ATI (AMD bo'lmagan) kompaniyalari tug'ilayotgan grafik protsessorlarda kritik tan olishni hisoblash texnologiyasiga hurmatdan voz kechishdi va to'g'ridan-to'g'ri va kengroq kirishni ta'minlaydigan o'zlarining ilovalarini ishlab chiqishni boshladilar. 3D protsessorlarining hisoblash bloklariga.

Natijada, NVIDIA parallel hisoblash uchun CUDA (Compute Unified Device Architecture) apparat va dasturiy ta'minot arxitekturasini ishlab chiqdi. CUDA arxitekturasi NVIDIA grafik protsessorlarida grafik bo'lmagan hisob-kitoblarni amalga oshirish imkonini beradi.

CUDA SDK ning ommaviy beta-versiyasining chiqarilishi 2007 yil fevral oyida chiqarilgan. CUDA API Cí til dialektining soddalashtirilganiga asoslangan. CUDA SDK arxitekturasi dasturchilar NVIDIA grafik protsessorlarida amalga oshirilgan algoritmlarni, jumladan C dasturi matnidan oldin maxsus funksiyalarni amalga oshirishini taʼminlaydi. Kodimni CUDA SDK omboriga muvaffaqiyatli tarjima qilish uchun NVIDIA nvcc Buyruqlar qatori kompilyatori kiritilishi kerak.

CUDA Linux, Mac OS X va Windows kabi operatsion tizimlar uchun oʻzaro platformali dasturiy taʼminotdir.

AMD (ATI) shuningdek, ilgari ATI Stream deb nomlangan va hozirda AMD Tezlashtirilgan Parallel Processing (APP) deb nomlangan GPGPU texnologiyasining o'z versiyasini chiqardi. AMD APP sanoat standarti OpenCL (Ochiq Computing Language) ga asoslangan. OpenCL standarti ko'rsatmalar darajasida va ma'lumotlar darajasida va GPGPU texnikasini amalga oshirishda parallellikni ta'minlaydi. Men standartni o'zgartiraman, bu standart litsenziyalash tasdiqlariga tobe emas. Shunisi e'tiborga loyiqki, AMD APP va NVIDIA CUDA birma-bir shubhasizdir, NVIDIA CUDA ning qolgan versiyasi OpenCL ni qo'llab-quvvatlaydi.

Video konvertorlarda GPGPU sinovi

Shuningdek, CUDA texnologiyasi NVIDIA grafik protsessorlarida GPGPU va AMD grafik protsessorlarida API APPni amalga oshirish uchun tan olinganligi tushuntirildi. Ma'lum bo'lishicha, GPUdagi grafik bo'lmagan raqamlar soni bundan kamroq, chunki oqimlar sonini parallellashtirish mumkin. Biroq, koristuvachning aksariyat qo'shimchalari bu mezonni qondirmaydi. Vtim, ê deakí vinyatki. Masalan, bugungi video konvertorlarning aksariyati NVIDIA va AMD grafik protsessorlarida hisoblash qobiliyatini yaxshilaydi.

Video konvertorlarda GPU to‘lovlari qanchalik samarali ishlatilishini tushunish uchun biz uchta mashhur yechimni tanladik: Xilisoft Video Converter Ultimate 7.7.2, Wondershare Video Converter Ultimate 6.0.3.2 va Movavi Video Converter 10.2.1. Raqamli konvertorlar NVIDIA va AMD dan turli xil grafik protsessorlarning imkoniyatlarini oshiradi va maxsus video konvertorlarda siz GPU yuklash samaradorligini baholash imkonini beruvchi imkoniyatni o'chirib qo'yishingiz mumkin.

Videokonvertatsiya qilish uchun biz uch xil videoni zastosovuvalimiz.

Birinchi videoklip 3 min 35 min 1,05 GB. Vín buv ma'lumotlarni saqlash formatida (konteyner) mkv va maw quyidagi xususiyatlarni qayd etadi:

  • video:
    • format - MPEG4 Video (H264),
    • razdylna zdatnyst - 1920*um*1080,
    • bit tezligi rejimi - o'zgaruvchan,
    • o'rtacha video tezligi - 42,1 Mbit / s,
    • maksimal video tezligi - 59,1 Mbit / s,
    • kadr tezligi - 25 kadr / s;
  • audio:
    • format - MPEG-1 Audio,
    • audio tezligi - 128 Kb/s,
    • kanallar soni - 2,

Yana bir videoklip 4 min 25 min 1,98 GB. Vín buv ma'lumotlarni saqlash formatida (konteynerda) MPG yozib oladi va quyidagi xususiyatlarga ega:

  • video:
    • format - MPEG-PS (MPEG2 Video),
    • razdylna zdatnyst - 1920*um*1080,
    • bit tezligi rejimi - o'zgaruvchan.
    • o'rtacha video tezligi - 62,5 Mbit / s,
    • maksimal video tezligi - 100 Mb/s,
    • kadr tezligi - 25 kadr / s;
  • audio:
    • format - MPEG-1 Audio,
    • audio tezligi - 384 Kb/s,
    • kanallar soni - 2,

Uchinchi videoklip Mav trivality 3 xv 47 bilan 197 MB. Ma'lumotlarni saqlash formati (konteyner) MOV va quyidagi xususiyatlar uchun rekordlarni yutib oling:

  • video:
    • format - MPEG4 Video (H264),
    • razdylna zdatnyst - 1920*um*1080,
    • bit tezligi rejimi - o'zgaruvchan,
    • video tezligi - 7024 Kb/s,
    • kadr tezligi - 25 kadr / s;
  • audio:
    • format - AAC,
    • audio tezligi - 256 Kb/s,
    • kanallar soni - 2,
    • namuna olish chastotasi - 48 kHz.

Barcha uchta sinov videolari iPad 2 planshetlarida ko'rib chiqish uchun turli xil video konvertorlardan MP4 ma'lumotlarni saqlash formatiga (H.264 kodek) aylantirildi.

Shunisi e'tiborga loyiqki, biz uchta konvertorda mutlaqo bir xil yaxshilangan konversiyani qo'lga kirita olmadik. Video konvertorlarning samaradorligini oshirish uchun konvertatsiya qilishning bir xil soati to'g'ri emas. Misol uchun, Xilisoft Video Converter Ultimate 7.7.2 video konvertorida konvertatsiya qilish uchun iPad 2 oldindan o'rnatilgan - H.264 HD Video mavjud edi. Qaysi oldindan sozlash quyidagi kodlash parametrlariga ega:

  • kodek - MPEG4 (H.264);
  • rozdylna zdatnyst - 1280*um*720;
  • kadrlar tezligi - 29,97 kadr / s;
  • video tezligi - 5210 Kb/s;
  • audio kodek - AAC;
  • audio tezligi - 128 Kb/s;
  • kanallar soni - 2;
  • namuna olish chastotasi - 48 kHz.

Wondershare Video Converter Ultimate 6.0.3.2 video konvertorida quyidagi qo'shimcha sozlashlar bilan butun iPad 2 oldindan o'rnatilgan:

  • kodek - MPEG4 (H.264);
  • rozdylna zdatnyst - 1280*um*720;
  • kadr tezligi - 30 kadr / s;
  • video tezligi - 5000 Kb/s;
  • audio kodek - AAC;
  • audio tezligi - 128 Kb/s;
  • kanallar soni - 2;
  • namuna olish chastotasi - 48 kHz.

Movavi Video Converter 10.2.1 da iPad oldindan oʻrnatilgan (1280*um*720, H.264) (*.mp4) quyidagi oʻzgarishlarga ega:

  • video formati - H.264;
  • rozdylna zdatnyst - 1280*um*720;
  • kadr tezligi - 30 kadr / s;
  • video tezligi - 2500 Kb/s;
  • audio kodek - AAC;
  • audio tezligi - 128 Kb/s;
  • kanallar soni - 2;
  • namuna olish chastotasi - 44,1 kHz.

Teri videoklipini konvertatsiya qilish besh marta teri video konvertorida, shuningdek, grafik protsessor va protsessor uchun ham amalga oshirildi. Terini o'zgartirgandan so'ng, kompyuter qayta o'rnatiladi.

Videoklip teri sumkasidagi teri video konvertori uchun o'n marta aylantirildi. Muntazam ishlarni avtomatlashtirish uchun grafik interfeysga ega maxsus yordamchi dastur yozildi, bu sizga sinov jarayonini yana avtomatlashtirish imkonini beradi.

Sinov stend konfiguratsiyasi

Quyidagi konfiguratsiyani sinab ko'rish uchun stend:

  • protsessor - Intel Core i7-3770K;
  • anakart - Gigabyte GA-Z77X-UD5H;
  • anakart chiplari - Intel Z77 Express;
  • xotira - DDR3-1600;
  • xotira hajmi - 8 GB (har biri 4 GB bo'lgan ikkita GEIL moduli);
  • xotira robot rejimi - ikki kanalli;
  • video karta - NVIDIA GeForce GTX 660Ti (video drayveri 314.07);
  • akkumulyator - Intel SSD 520 (240 GB).

Stendga Windows 7 Ultimate (64-bit) operatsion tizimi o'rnatildi.

Biz yaqinda robot protsessorning normal rejimida sinovlarni o'tkazdik va tizimning barcha komponentlarini hal qildik. Bu bilan Intel Core i7-3770K protsessori Turbo Boost rejimi yoqilgan holda 3,5 GGts nominal chastotada ishlaydi (Turbo Boost rejimida protsessorning maksimal chastotasi 3,9 GGts ga teng).

Keyin biz sinovni takrorladik, lekin protsessorni 4,5 gigagertsli qattiq chastotaga oshirganda (Turbo Boost rejimidan foydalanmasdan). Tse protsessor (CPU) chastotasini o'zgartirish tezligining haqiqiyligini aniqlashga imkon berdi.

Sinovning keyingi bosqichida biz standart protsessorni yangilashga o'tdik va sinovni boshqa video kartalar bilan takrorladik:

  • NVIDIA GeForce GTX 280 (haydovchi 314.07);
  • NVIDIA GeForce GTX 460 (haydovchi 314.07);
  • AMD Radeon HD6850 (haydovchi 13.1).

Shu tarzda, video konvertatsiya turli arxitekturadagi bir nechta video kartalarda amalga oshirildi.

Eski NVIDIA GeForce 660Ti video kartasi 28 nm texnologik texnologiyada ishlaydigan GK104 kodli (Kepler arxitekturasi) bir bitli grafik protsessorga asoslangan. Butun grafik protsessor 3,54 milliard tranzistorga ega bo'lishi kerak va kristallning maydoni 294 mm2 bo'lishi kerak.

Taxmin qilish kerakki, GK104 grafik protsessoriga bir nechta klasterlar va grafik ishlov berish (Graphics Processing Clusters, GPC) kiradi. Klasterlar GPC ê okremí pristroí sifatida protsessor va bino pratsyuvati omborida mustaqil xo'jalik inshootlari, oskolki barcha zarur resurslarni mayut: rozetkalar, geometrik dvigatellar va tekstura modullari.

Agar bunday klasterda ikkita oqimli multiprotsessor SMX (Streaming Multiprocessor) va GK104 protsessorida bitta klasterda bitta blokirovka qiluvchi multiprotsessor, ya'ni SMX multiprotsessor bo'lishi mumkin.

SMX oqimli multiprotsessorida 192 ta oqimni hisoblash yadrolari (CUDA yadrolari), GK104 protsessorida 1344 ta CUDA hisoblash yadrolari mavjud. Bundan tashqari, SMX multiprotsessorli jildda 16 ta tekstura birligi (TMU), 32 ta maxsus funktsiya birligi (SFU), 32 yuk saqlash birligi (LSU), PolyMorph dvigateli va boshqalar mavjud.

GeForce GTX 460 video kartasi Fermi arxitekturasiga asoslangan GF104 kod belgisiga ega grafik protsessorga asoslangan. Ushbu protsessor 40 nm texnologik texnologiyada ishlaydi va 1,95 milliard tranzistorga yaqin.

GF104 grafik protsessoriga ikkita GPC klaster grafikasi kiradi. Ularda SM multiprotsessorlarining ko'plab iplari mavjud va klasterlardan biridagi GF104 protsessorida bitta blokirovka qiluvchi ko'p protsessor mavjud, bu barcha SM multiprotsessorlari uchun sababdir.

SM oqimli multiprotsessorida 48 ta oqimni qayta ishlash yadrolari (CUDA) bo'lsa, jami GK104 protsessorida 336 ta CUDA ishlov berish yadrolari mavjud. Bundan tashqari, SM-multiprotsessorining terisi jami tekstura modullarini (TMU), jami maxsus funktsiya birliklarini (SFU), 16 yuk saqlash birliklarini (LSU), PolyMorph dvigatelini va boshqa ko'p narsalarni joylashtirishi mumkin.

GeForce GTX 280 grafik protsessori NVIDIA grafik protsessorlarining birlashgan arxitekturasining yana bir avlodiga tegishli bo'lib, arxitekturasi uchun Fermi va Kepler arxitekturalari kuchli ta'sir ko'rsatadi.

GeForce GTX 280 grafik protsessori teksturani qayta ishlash klasterlaridan (Texture Processing Clusters, TPC) tashkil topgan bo'lib, ular o'xshash, lekin ayni paytda Fermi va Kepler arxitekturalarida GPC grafik ishlov berish klasterlarida ham o'zgartirilgan. GeForce GTX 280 protsessorida o'nta shunday klaster mavjud. TPC teri klasteriga uchta ip, SM multiprotsessorlari va umumiy teksturali tebranish va filtrlash bloki (TMU) kiradi. Teri multiprotsessori sakkizta oqim protsessoridan (SP) iborat. Ko'p protsessorlar, shuningdek, grafik va boshqa vazifalarda g'olib bo'lgan tekstura ma'lumotlarini tanlash va filtrlash bloklarini olib tashlaydi.

Shunday qilib, bitta TPC klasterida 24 ta oqim protsessorlari mavjud va GeForce GTX 280 grafik protsessorida allaqachon 240 ta mavjud.

NVIDIA grafik protsessorlarida sinovdan o'tgan video kartalarning xususiyatlari jadvalda keltirilgan.

Jadvalni surayotganda, AMD Radeon HD6850 video kartalari yo'q, bu juda tabiiy, texnik xususiyatlar uchun ularni NVIDIA video kartalari bilan taqqoslash muhimdir. Va buning uchun biz okremoga qaraymiz.

Barts kod nomi bilan atalgan AMD Radeon HD6850 grafik protsessori 40 nm texnologik texnologiyadan foydalangan holda ishlab chiqarilmoqda va 1,7 milliard tranzistorga ega.

AMD Radeon HD6850 protsessorining arxitekturasi raqamli ma'lumotlar ko'rinishini oqimli qayta ishlash uchun yuqori darajadagi protsessorlar majmuasiga ega bo'lgan yagona arxitekturadir.

AMD Radeon HD6850 protsessori 12 ta SIMD yadrosidan iborat bo‘lib, ularning har biri 16 ta superskalyar oqim protsessorlari bloklari va ayrim tekstura bloklarini o‘z ichiga oladi. Beshta universal oqim protsessorlarini almashtirish uchun teri superskalar oqim protsessori. Shunday qilib, AMD Radeon HD6850 grafik protsessorida 12*um*16*um*5=960 universal oqim protsessorlari mavjud.

AMD Radeon HD6850 video kartasining grafik protsessorining chastotasi 775 MGts, GDDR5 xotirasining samarali chastotasi esa 4000 MGts ni tashkil qiladi. Kimga obsyag xotira 1024 MB bo'ladi.

Sinov natijalari

Otzhe, biz test natijalarini kutamiz. NVIDIA GeForce GTX 660Ti video kartasi va Intel Core i7-3770K protsessorining oddiy rejimi ishlayotgan bo'lsa, birinchi sinovdan boshlaylik.

Shaklda. 1-3-rasmlarda uchta sinov videosini uchta konvertor tomonidan grafik protsessor tiqilib qolgan va bo'lmagan rejimlarda aylantirish natijalari ko'rsatilgan.

Sinov natijalaridan ko'rinib turibdiki, grafik protsessorni tanlashning ta'siri ê. Xilisoft Video Converter Ultimate 7.7.2 video konvertori uchun grafik protsessor sekinlashganda konvertatsiya soati birinchi, ikkinchi va uchinchi videoklip uchun 14,9 va 19% ga qisqaradi.

Wondershare Video Converter Ultimate 6.0.32 video konvertori uchun grafik protsessor birinchi, ikkinchi va uchinchi videokliplar uchun konvertatsiya qilish soatini 10, 13 va 23% ga tezlashtirish imkonini beradi.

Bundan tashqari, grafik protsessor tiqilib qolganda eng muhim narsa Movavi Video Converter 10.2.1. Birinchi, ikkinchi va uchinchi videoklip uchun konvertatsiya vaqti 64, 81 va 41% to'g'ri.

Biz grafik protsessor yordamida videoni o'ynatganimiz, uni videoklip sifatida joylashtirishimiz va video konvertatsiyani tuzatish uchun aniq bo'ldi, shuning uchun biz olingan natijalarni ko'rsatamiz.

Endi hayron bo'laylik, Intel Core i7-3770K protsessorini 4,5 gigagertsli tezlikka oshirganda bir soatdan keyin konversiya qanday bo'ladi. Shuni ta'kidlash kerakki, oddiy rejimda barcha protsessor yadrolari, haydovchi aylantirilganda va Turbo Boost rejimida, 3,7 gigagertsli chastotada ishlaydi, chastotani 4,5 gigagertsgacha oshirish 22% ga overclockga olib keladi.

Shaklda. 4-6-rasmlarda protsessorni boshqa grafik protsessorli va bo'lmagan rejimlarda overclock qilishda uchta sinov videosini konvertatsiya qilish natijalari ko'rsatilgan. Grafik protsessorni blokirovka qilish vaqtida u konvertatsiya qilish soatiga yutuqni olib tashlashga imkon beradi.

Xilisoft Video Converter Ultimate 7.7.2 video konvertori uchun grafik protsessor sekinlashganda konvertatsiya soati birinchi, ikkinchi va uchinchi videoklip uchun 15,9 va 20% ga qisqaradi.

Wondershare Video Converter Ultimate 6.0.32 video konvertori uchun grafik protsessor birinchi, ikkinchi va uchinchi videoklip uchun konvertatsiya qilishning bir soatini 10, 10 va 20% ga tezlashtirish imkonini beradi.

Movavi Video Converter 10.2.1 uchun grafik protsessorning sekinlashishi konversiya vaqtini 59, 81 va 40% ga tezlashtirish imkonini beradi.

Shubhasiz, siz hayron bo'la olmaysiz, protsessor bo'linishi sizga boshqa grafik protsessor bilan va yangisisiz konvertatsiya qilish soatini o'zgartirish imkonini beradi.

Shaklda. 7-9-rasmlar grafik protsessorni oddiy rejimda va overclock rejimida ishlatmasdan videoni aylantirish natijalarini ko'rsatadi. Shu tarzda, konvertatsiya faqat CPU tomonidan GPUda zaryadlanmasdan amalga oshiriladi, robot protsessorning takt chastotasining oshishi qisqa konvertatsiya vaqtiga (konversiya tezligining oshishi) olib kelishi aniq. Shunday qilib, konvertatsiya tezligi barcha test videolari uchun taxminan bir xil bo'lishi mumkinligi o'z-o'zidan ravshan. Shunday qilib, Xilisoft Video Converter Ultimate 7.7.2 video konvertori uchun protsessor overclock qilinganda birinchi, ikkinchi va uchinchi videoklip uchun konvertatsiya soati 9, 11 va 9% ga qisqaradi. Wondershare Video Converter Ultimate 6.0.32 video konvertori uchun konvertatsiya soati birinchi, ikkinchi va uchinchi videoklip uchun 9,9 va 10% ga qisqartiriladi. Xo'sh, Movavi Video Converter 10.2.1 video konvertori uchun konvertatsiya soati 13, 12 va 12% ga qisqartirilgani to'g'ri.

Shunday qilib, protsessorni 20% chastota bilan overclock qilganda, konvertatsiya qilish soati taxminan 10% ga qisqartiriladi.

Robot protsessorining normal rejimida va overclocking rejimida videokliplarni grafik protsessorning muqobil kanallariga aylantirish soati tenglashtiriladi (10-12-rasm).

Xilisoft Video Converter Ultimate 7.7.2 video konvertori uchun protsessor overclock qilinganda birinchi, ikkinchi va uchinchi videoklip uchun konvertatsiya soati 10, 10 va 9% ga qisqaradi. Wondershare Video Converter Ultimate 6.0.32 video konvertori uchun konvertatsiya soati birinchi, ikkinchi va uchinchi videoklip uchun 9,6 va 5% ga qisqartiriladi. Xo'sh, Movavi Video Converter 10.2.1 video konvertori uchun konvertatsiya vaqti 0,2 ga qisqa, 10 va 10% to'g'ri.

Bachimo singari, Xilisoft Video Converter Ultimate 7.7.2 va Wondershare Video Converter Ultimate 6.0.32 konvertorlari uchun protsessorni overclock qilishda eng qisqa o'tkazish vaqti taxminan boshqa grafik protsessor bilan bir xil, shuning uchun hech qanday kechikishsiz, bu mantiqiy, kengaytirilishi mumkin. konvertorlar GPUda hisoblashni o'zgartirishda unchalik samarali emas. Va GPUga samarali o'zgartiradigan Movavi Video Converter 10.2.1 konvertorining o'qi, protsessorning GPU rejimiga o'tishdagi o'tish qisqa vaqt ichida konvertatsiya qilishda unchalik ahamiyatga ega emas, bu ham tushunarli, bu mikrosxemalar. yo'lga asosan grafik protsessor ta'sir qiladi.

Keling, turli xil video kartalar bilan sinov natijalarini ko'rib chiqaylik.

Agar video karta yupqaroq bo'lsa va grafik protsessorda (yoki AMD video kartalari uchun universal oqim protsessorlari) ko'proq CUDA yadrolari bo'lsa, yaxshi bo'lardi, grafik protsessor band bo'lgan paytlarda videoni aylantirish samaraliroq bo'lishi mumkin. Ale, amalda men bunday chiqishni xohlamayman.

NVIDIA grafik protsessorlariga asoslangan video kartalarga kelsak, vaziyat yaqinlashmoqda. Xilisoft Video Converter Ultimate 7.7.2 va Wondershare Video Converter Ultimate 6.0.32 muqobil konvertorlari yordamida video karta turiga qarab konversiya soatini aylantirish amalda mumkin emas. Shunday qilib, NVIDIA GeForce GTX 660Ti, NVIDIA GeForce GTX 460 va NVIDIA GeForce GTX 280 video kartalari uchun GPUda o'zgaruvchan hisoblash rejimida konvertatsiya qilish soati bir xil ko'rinadi (13-15-rasm).

Guruch. 1. Birinchi konvertatsiya natijalari
videoni oddiy rejimda sinab ko'ring
robot protsessor

grafik protsessor rejimida video karta protsessori

Guruch. 14. Boshqa videoklipning konvertatsiya vaqti natijalari

Guruch. 15. Uchinchi videoklipni soat bo'yicha konvertatsiya qilish natijalari
grafik protsessor rejimida boshqa video kartalarda

Xilisoft Video Converter Ultimate 7.7.2 va Wondershare Video Converter Ultimate 6.0.32 konvertorlarida amalga oshirilgan grafik protsessordagi hisoblash algoritmi shunchaki samarasiz va barcha grafik yadrolarini faol ravishda aylantirishga imkon bermasligini tushuntirib beraman. Nutqdan oldin biz ushbu konvertorlar uchun GPU-da va soat rejimlarisiz konvertatsiya qilish soatlaridagi farq kichik ekanligini tushuntiramiz.

Movavi Video Converter 10.2.1 boshqa holatga ega. Esimda, ushbu o'rnatilgan konvertor GPU-da grafiklarni samarali tarzda o'zgartira oladi va GPU konvertatsiya qilish rejimida konvertatsiya vaqti aylantirilgan video karta turiga o'xshash bo'lishi kerak.

Va AMD Radeon HD 6850 video kartasi bilan eksa hammasi yaxshi. Yoki video kartaning drayveri "qiyshiq" yoki konvertorlarda amalga oshirilgan algoritmlar jiddiy qo'shimcha ishlov berishni talab qiladi yoki GPUda natijalarni hisoblash yaxshilanmasa yoki u yomonlashadi.

Aniqroq aytadigan bo'lsak, vaziyat rivojlanmoqda. Xilisoft Video Converter Ultimate 7.7.2 konvertori uchun birinchi sinov videosini konvertatsiya qilish soati 43% ga, boshqa videoni konvertatsiya qilish esa 66% ga oshadi.

Bundan tashqari, Xilisoft Video Converter Ultimate 7.7.2 yanada beqaror natijalar bilan tavsiflanadi. Rozkid soat konvertatsiyasi 40% ga yetishi mumkin! Buning uchun biz barcha testlarni o'n marta takrorladik va o'rtacha natijani qo'lga kiritdik.

Va konvertorlar uchun o'qi Wondershare Video Converter Ultimate 6.0.32 va Movavi Video Converter 10.2.1 konvertatsiya soatida barcha uchta videoni aylantirish uchun grafik protsessor soatida hech qanday o'zgarish yo'q! Wondershare Video Converter Ultimate 6.0.32 va Movavi Video Converter 10.2.1 konvertorlari konvertatsiya qilishda yo AMD APP texnologiyasida miltillamaydi, yoki AMD video drayveri shunchaki "qiyshiq" bo'lib qoladi, buning natijasida AMD APP texnologiyasi ishlamaydi. ish.

Visnovki

O'tkazilgan sinovlardan bunday muhim visnovkilarni etishtirish mumkin. Zamonaviy video konvertorlarda texnologiya aslida GPU-ga o'rnatilishi mumkin, bu konvertatsiya tezligini oshirish imkonini beradi. Biroq, bu barcha hisob-kitoblar GPUga o'tkaziladi va CPU tugallanmagan holda qoladi degani emas. Sinov shuni ko'rsatadiki, bir vaqtning o'zida GPGPU texnologiyasi teskari, markaziy protsessor endi ishg'ol qilinmaydi, shuningdek, video konvertatsiya teskari bo'lgan tizimlardagi zich, boy yadroli markaziy protsessorlar endi ahamiyatsiz. . Ushbu qoidaning aybdori AMD grafik protsessorlarida AMD APP texnologiyasidir. Misol uchun, AMD APP texnologiyasi yoqilgan Xilisoft Video Converter Ultimate 7.7.2 konvertoridan foydalanilganda, protsessordagi yuk samarali ravishda kamayadi, lekin konversiya vaqti qisqarmaydi, aksincha ortadi.

Boshqacha qilib aytganda, agar siz videoni qo'shimcha grafik protsessorlar bilan konvertatsiya qilish haqida gapiradigan bo'lsangiz, u holda NVIDIA grafik protsessorlari bilan video kartalarni konvertatsiya qilish uchun. Amaliyot shuni ko'rsatadiki, faqat shu yo'l bilan katta konversiya tezligiga erishish mumkin. Bundan tashqari, ayirboshlash tezligining haqiqiy o'sishi boy amaldorlar qo'liga tushishi haqida xotira izlari bor. Bu videoning kirish va chiqish formati va, shubhasiz, video konvertorning o'zi. Xilisoft Video Converter Ultimate 7.7.2 va Wondershare Video Converter Ultimate 6.0.32 konvertorlari bu vazifa uchun yomon va Movavi Video Converter 10.2.1 konvertorining o'qi NVIDIA GPU imkoniyatlarini yengishda allaqachon samarali.

AMD grafik protsessorlariga asoslangan video kartalarga kelsak, ularni videokonvertatsiya qilish uchun ularni to'xtatish shart emas. Eng yaxshi vaqtda, konvertatsiya qilish orqali tezlikni oshirish bo'lmaydi, lekin eng yomon holatda, pasaytirish mumkin.

Kriptovalyuta qazib olish uchun qanday dastur kerak? Qazib olish uchun mulk tanlashda nimani himoya qilish kerak? Kompyuterda qo'shimcha video karta uchun bitkoinlar va ethereumni qanday qazib olish mumkin?

Ma'lum bo'lishicha, boshqa video kartalar nafaqat ajoyib o'yin muxlislariga kerak bo'ladi. cryptocurrency daromad uchun butun dunyoda koristuvachiv minglab vikoristovuyu grafik adapterlar! Qattiq protsessorli 3 ta kartalar soni konchilik yaratmoq fermi- Markazni hisoblash, yaky vydobuvayut tsifroví groshy amalda z poítrya!

Bu HeatherBober jurnalining eksperti Denis Kuderin, bu savodli ko'paytirishning moliyasi bo'yicha. Men sizga nima ekanligimni aytaman video kartada qazib olish 17-18 yoshda, kripto valyutasini olish uchun to'g'ri qo'shimchalarni qanday tanlash kerak va nima uchun endi video kartalarda bitcoinlarni ko'rish aniq emas.

Siz ham bilasiz de juda samarali sotib oling va video kartani suring professional konchilik uchun, keyin konchilik fermangizning samaradorligini oshirish uchun mutaxassislarni olib qo'ying.

1. Video kartada qazib olish - oson pennies va yolg'on

Yaxshi video karta faqat raqamli signal adapteri emas, balki qattiq protsessor, eng murakkab hisob-kitoblar uchun binoga asoslangan yechimdir. Men shu jumladan - Blok tili (blokcheyn) uchun xesh kodini hisoblang. Ideal vosita bilan grafik to'lovlarni o'g'irlash kon- kriptovalyuta turlari.

Quvvatlantirish manbai: Nima uchun video karta protsessorining o'zi? Va agar sizning kompyuteringizda markaziy protsessor bo'lsa-chi? Yoga yordami uchun haq olish mantiqiy emasmi?

Taklif: CPU ham blokcheynlarni hisoblashi mumkin, lekin u yuzlab marta ko'proq amalga oshirilishi mumkin, pastki video karta protsessor (GPU). Va eng yaxshisi uchun emas, ikkinchisi eng yomoni. Faqat ularning ish printsipi boshqacha. Va bir oz video kartalar olishingiz bilanoq, bunday obsluvalny markazning intensivligi yanada ko'proq harakat qiladi.

Raqamli pul olayotganga o'xshaganlar haqida bilmaganlar uchun kichik liknep. Konchilik - asosiy, va ba'zan yagona yo'li cryptocurrency ishlab chiqarish.

Shards va pennies karbuê emas va boshqalar emas, va badbo'y hid moddiy modda emas, balki raqamli kod, kodni hisoblash uchun kim javobgar bo'lsa. Cim va konchilar, aniqrog'i, kompyuterlar bilan shug'ullanadi.

Krim kodni hisoblab chiqadi, konchilik eng muhim ishlarni ko'proq hisoblaydi:

  • tizimni markazsizlashtirishni qo'llab-quvvatlash: serverlarga kirish imkoniyati - blokcheynning asosi;
  • tranzaktsiyani tasdiqlash- qazib olishsiz operatsiyalar yangi blokga etib bo'lmaydi;
  • tizimning yangi bloklarini shakllantirish- va ularni barcha kompyuterlar uchun bir xil registrga kiritish.

Men darhol boshlang'ichlarning sug'urtasini sovutmoqchiman: teri toshlari bilan qazib olish jarayoni tobora muhim ahamiyat kasb etmoqda. Misol uchun, qo'shimcha video karta uchun u uzoq vaqtdan beri foydasiz bo'lib kelgan.

GPU birdaniga kamroq qaysar havaskorlarga yordam berish uchun koptoklar, video kartalarni almashtirish uchun chiplar maxsus protsessorlardan olingan. ASIC. Chiplar kamroq elektr energiyasini tejaydi va samaraliroq va arzonroqdir. Hammasi yaxshi, lekin tartibda turing 130-150 ming rubl .

Antminer S9 modeli bosilgan

Yaxshiyamki, konchilar uchun bitkoin sayyoradagi yagona kriptovalyuta emas, balki yuzlab kriptovalyutalardan biridir. Boshqa raqamli pullar - efíriumi, Zcash, Expanse, dogkoin va boshqalar. oldingi kabi, qo'shimcha video kartalarni izlash aniq. Uzumzor barqaror va sotib olish taxminan 6-12 oy ichida to'lanadi.

Va yana bir muammo - qattiq video kartalarning etishmasligi. Kriptovalyutalar atrofidagi shov-shuv ularning qo'shimcha binolari narxini oshirdi. Rossiyada kon bilan biriktirilgan yangi video kartani sotib olish juda oson emas.

Erta konchilar onlayn-do'konlarda (shu jumladan chet elda) video adapterlarni sotib olishlari yoki tovarlarni sotib olishlari kerak. To'xtang, nutqqa qadar, raja emas, ishlang: fantastik Svid bilan kiygan kon zastarívaê uchun egalik.

Avíty haqida vidobotku cryptocurrency uchun butun fermer xo'jaliklari sotish navít.

Sabablari juda ko'p: ba'zi konchilar raqamli pullar kabinalaridan allaqachon "boy bo'lishdi" va ular kripto-valyuta (zokrema, birja savdosi) bilan ko'proq naqd pul olish operatsiyalarini amalga oshirishga qaror qilishdi, ular qattiq pul bilan raqobatlasha olishlarini tushunishdi. Xitoy klasterlari, chunki bazada elektr stantsiyasi yo'q. Uchinchisi video kartalardan ASIC-larga o'tdi.

Biroq, joy hali ham qo'shiqchilik uchun daromad keltiradi va darhol video karta yordamiga g'amxo'rlik qilganingiz ma'qul, aks holda siz kelajakka ketayotgan poezdning pastki qismiga etib borasiz.

Yana bir daryo, dalada ko'proq shag'al bor. Bundan tashqari, raqamli tangalarning umumiy soni o'smaydi. Endi shaharlar kichrayib bormoqda.

Shunday qilib, olti yil oldin, bitta blokcheyn uchun bitcoin tarmog'i tugallandi 50 tanga, birdaniga 12,5 BTK. Hisoblashning buklanishi bir vaqtning o'zida 10 ming marta oshdi. Bu to'g'ri va bitkoinning o'zi bir soat ichida o'sdi.

2. Qo'shimcha video karta uchun kriptovalyutani qanday qazib olish kerak - foydalanish bo'yicha ko'rsatmalar

qazib olish uchun ikkita variant bor - yakkaxon va ombor hovuzida. Yolg'iz video stend bilan kurashish qiyin - onaga katta miqdorda xeshreyt kerak(yagona kuchlanish), shuning uchun hisoblash yopilishning muvaffaqiyati uchun kichikdir.

99% muvaffaqiyatli konchilar ishlaydi basseynlar(inglizcha basseyn - suzish havzasi) - vazifalar sonini hisoblash bilan band bo'lgan uxlash joylari. To'kilgan qazib olish tushish omilini kamaytiradi va barqaror daromadni kafolatlaydi.

Mening taniqli konchilarimdan biri bu haydashda shunday o'tirdi: men 3 yildan beri konchilik bilan shug'ullanaman, butun soat davomida men o'zimni ko'rganim haqida hech kim bilan gaplashmadim.

Bunday konchilar 19-asrdagi oltin qazib oluvchilarga o'xshaydi. Siz o'zingizning o'zingizning nuggetingiz bilan o'ynashingiz mumkin (bizning fikrimizcha - bitcoin) va hech qachon bilmayman. Shunday qilib, blokcheyn yopilmaydi, lekin siz hech qanday to'siqlarni olib tashlamaysiz.

Troxlar efirlar va boshqa kripto-tangalar uchun "o'zini tan olgan mutafakkirlar" uchun ko'proq imkoniyatga ega.

O'zining shifrlash algoritmi orqali ETH maxsus protsessorlar yordami uchun ko'rinmaydi (ular hali ixtiro qilinmagan). Vykoristovuyut kim uchun video karta ko'proq. Eterlar va boshqa altkoinlarning pullari uchun hozirgi fermerlar soni hali ham to'lanadi.

To'liq fermi yaratish uchun bitta video karta etarli bo'lmaydi: 4 dona - konchi uchun "yashash minimumi", bu barqaror daromad olish uchun investitsiya qilinadi. Video adapterlarni sovutish tizimi muhim emas. Elektr uchun to'lov kabi hurmat va bunday statu vitratni qo'ldan boy bermang.

Pokrokovning avf etishni ta'minlash va jarayonni tezlashtirish bo'yicha ko'rsatmalari.

Krok 1. Hovuzni tanlang

Dunyodagi eng yirik kriptovalyuta o'qlari Xitoy hududida, shuningdek Islandiya va AQShda joylashtirilgan. Rasmiy ravishda, tsí spylnoti suveren hokimiyatni mayut emas, balki rus saytlari puliv - rídkíst ínterneti.

Agar siz barcha efir uchun video kartadagi toshlarni tezroq ko'rishingiz kerak bo'lsa, unda siz tovarni yig'ishingiz kerak bo'ladi, siz valyutadan qarz olasiz. Wanting Etherium - bu juda yosh altkoin, yoga qazib olish uchun pulliv. Víd vyboru svylnoti sizning daromad va yogo barqarorligi rozmyr yotar nima boy.

Hovuz quyidagi mezonlarga muvofiq tanlanadi:

  • mahsuldorlik;
  • ish vaqti;
  • o'rta toifadagi kriptovalyutalar orasida mashhurlik;
  • mustaqil forumlarda ijobiy fikrlar mavjudligi;
  • pennies ko'rish xavfsizligi;
  • rozmir komísíí;
  • foyda olish tamoyili.

Kripto-valyuta bozori har kuni o'zgarib bormoqda. Kursni davom ettirishga arziydi va yangi raqamli pullar paydo bo'ladi. vilkalar bitkoin. Traplyayutsya va global o'zgarish.

Shunday qilib, yaqinda efirning boshqa tizimga o'tishi mumkinligi ma'lum bo'ldi, menda ortiqcha narsa bor edi. Ikki so'z bilan aytganda - Etherium merezhí daromadi konchi bo'lishi kerak, "tangalari ko'p" bo'lganlar uchun, va pul ishlayotganlar uchun ular do'konni yopishlari yoki boshqa tiyinlarga o'tishlari mumkin.

Va shunga qaramay, ishqibozlarning "dríbnitsí" umuman eshitilmadi. Tim more, ê Profitable Pool nomi ostida dastur. U avtomatik ravishda altkoinlar uchun navigatsiyani ko'rsatadi. Ê th xizmati o'qlarni o'zlari, shuningdek ularning reytinglarini real vaqt rejimida qidirish.

Krok 2. Dasturni o'rnating va o'rnating

Hovuz saytida ro'yxatdan o'tib, siz maxsus konchi dasturini olishingiz kerak - kalkulyator yordamida kodni qo'lda hisoblamang. Bunday dasturlar juda ko'p. Bitkoin narxi uchun - 50 konchi yoki CGMiner, efir uchun Ethminer.

Nalashtuvannya hurmat va qo'shiq mahoratini talab qiladi. Masalan, skriptlar nima ekanligini bilishingiz kerak va ularni kompyuterning buyruq satriga kiritishni unutmang. Texnik daqiqalarni amaliyotchi konchilar bilan aniqlashtirishim kerak, teri dasturining parchalari o'rnatish va sozlashning o'ziga xos nuanslariga ega bo'lishi mumkin.

Krok 3

Agar sizda hali ham bitcoin-gamantsia yoki ethereum-kollektsiyalar bo'lmasa, ularni obov'yazkovo ro'yxatdan o'tkazish kerak. Gamantsí zavantazhuêmo rasmiy saytlardan.

Ba'zan sizga o'qlarni o'zlari berish huquqiga yordam beraman, lekin bepul.

Krok 4. qazib olishni boshlang va statistikaga amal qiling

Jarayonni boshlash va birinchi marta tekshirish uchun endi etarli emas edi. Obov'yazkovo zavantazhte qo'shimcha dasturi, yak vydstezhuvatem kompyuteringizning asosiy tugunlari bo'ldi - zavantage, juda nozik qizib ketish.

Krok 5. Kripto valyutasini ko'rsatish

Kompyuterlar kodni hisoblab, avtomatik ravishda kodni qayta ishlaydi. Kartalar yoki boshqa tizimlar ishdan chiqmasligi uchun sizga bir necha qadam qoldi. Cryptocurrency sizning gamanets zí shvidkístyu dan heshreyt soniga to'g'ridan-to'g'ri proportsional oqadi.

Fiatdan raqamli valyutani qanday o'tkazish mumkin? Ovqatlanish, kundalik okremoí statti. Muxtasar qilib aytganda, eng yaxshi yo'l - almashuv nuqtalari. Xizmatlar uchun o'z pulingizni olmang va sizning vazifangiz minimal komissiya bilan eng yaxshi kursni bilishdir. Almashtirgichlarni tashkil qilish bo'yicha professional xizmatga yordam berish yaxshiroqdir.

- Runetidagi bunday rejaning eng yaxshi manbai. Ushbu monitoring 300 dan ortiq almashinuv punktlarining ko'rsatkichlarini ko'rsatadi va sizni qitiqlaydigan valyuta juftliklari uchun yaxshiroq kotirovkalarni bilish uchun. Ponad o'sha, xizmat naqd cryptocurrency zaxiralarini ko'rsatadi. Monitoring ro'yxatlari haddan tashqari ta'sir ko'rsatishi va almashinuv xizmatlarining ortiqcha bo'lishi ehtimoli kamroq.

3. Konchilik uchun video kartani tanlashda nimalarga e'tibor berish kerak

Video kartani oqilona tanlang. Persha, kim qo'lga oldi, yoki bu, u allaqachon sizning kompyuterda turgan, tezh asosiy, ale efirlar uchun shamol uchun tíêí germetiklik ham bir oz bo'ladi.

Asosiy ko'rsatkichlar quyidagilardan iborat: unumdorlik (kuchlanish), energiya ta'minoti, sovutish, tarqalish istiqbollari.

1) charchoq

Bu erda hamma narsa oddiy - protsessorning unumdorligi qanday, xesh kodini hisoblash uchun yaxshiroqdir. Vídminny pokazniki 2 GB dan ortiq xotiraga ega bo'lgan kartalarni zabezpechuyut. Men 256-bitli avtobusga ega qo'shimchani tanlang. cíêí uchun 128 bit mos bo'lishi mumkin emas.

2) Energiya ta'minoti

Intensivlik, narx, ajoyib, ajoyib - yuqori heshreyt va boshqalar. Ale, energiya vitrinalari haqida unutmang. Ishchilar samarali fermer xo'jaliklari elektrchilarga "beradi", ular eng kam pul sarflaydi, yoki ular to'lamaydi.

3) Sovutgich

U odatda 4-16 ta kartadan yig'iladi. U dunyodan yuqori issiqlikni, ko'rfazning vayronalarini va dehqonning o'z beparvoligini tebratadi. Konditsionersiz bir xonali kvartirada hayot va amaliyot, yumshoq ko'rinish, noqulay.

Yakísne holodzhennya protsesora - neomínin umova muvaffaqiyatli qazib olish

Shuning uchun, bir xil mahsuldorlikka ega ikkita kartani tanlayotganda, kimga ustunlik bering termal kuchlanishning kamroq ko'rsatkichi (TDP) . Eng yaxshi sovutish sozlamalari Radeon kartalarini ko'rsatadi. Agar siz boshqa kartalarni topsangiz, ularni faol rejimda bepul ishlatishingiz mumkin.

Dodatkoví sovutgichlari nafaqat protsessorlarga issiqlik olib keladi, balki ularning ishlash muddatini ham davom ettiradi.

4) Tarqalish qobiliyati

Rozgin - video kartalarning ishchi displeylarini primus reklamasi. Ikki parametrda joylashtirish uchun "xaritani chizish" imkoniyati - grafik protsessor chastotasi va video xotira chastotasi. Agar siz mahkamlash sonini oshirmoqchi bo'lsangiz, ularni o'zingiz kesib tashlaysiz.

Video kartalarni qanday sotib olish mumkin? Sizga qolgan avlodni kengaytirish yoki 2-3 yil oldin chiqarilgan kamroq grafik qo'shimcha kerak. Minery g'alaba kartalari AMD Radeon, Nvidia, Geforce GTX.

Video kartalarning to'lov jadvalini ko'rib chiqing (ma'lumotlar 2017 yil oxirida yangilangan):

4. qazib olish uchun video kartani sotib oling - TOP-3 do'konlarini ko'rib chiqing

Men allaqachon aytganimdek, video kartalar qazib olishning ortib borayotgan mashhurligi tufayli kam tovarga aylandi. Kerakli aksessuarlarni sotib olish, ko'p vaqt sarflash uchun.

Bizning eng yaxshi onlayn savdo nuqtalari haqida sharhimiz sizga yordam beradi.

1) TopComputer

Kompyuter va tegishli texnologiyalarga ixtisoslashgan Moskva gipermarketi. Pratsyuê bozorda 14 yildan ortiq vaqtdan beri virobniklar narxiga er yuzidan mayzhe tovarlarini etkazib beradi. Pratsyuê xizmati tezkor yetkazib berish, moskvaliklar uchun bepul.

Yozish vaqtida maqola ê kartalari sotiladi AMD, Nvidia(8 Gb) deb ynshí ríznovidi, kon uchun mos scho.

2) Mybitcoinshop

Ixtisoslashgan do'kon, faqat konchilik uchun tovarlar bilan savdo qilish. Bu yerda siz uy xo'jaligi hayoti uchun hamma narsani topasiz - kerakli konfiguratsiyaning video kartalari, hayot bloklari, adapterlar va navit ASIC-konchilar (yangi avlod konchilari uchun). Є pullik yetkazib berish va Moskva yaqinidagi samovivíz zí ombori.

Kompaniya bir necha bor Rossiya Federatsiyasida konchilar uchun eng yaxshi do'konning norasmiy unvonini oldi. Samarali xizmat, mijozlarga do'stona yetkazib berish, ilg'or egalik - muvaffaqiyatning asosiy ombori.

3) Ship Shop America

AQShdan tovarlarni sotib olish va yetkazib berish. Konchilik uchun to'g'ri eksklyuziv va ilg'or mahsulotlarga muhtoj bo'lganlar uchun oraliq kompaniya.

Qimor o'yinlari va qazib olish uchun simli video karta ishlab chiqaruvchisining bevosita hamkori - Nvidia. Mahsulotning maksimal muddati - 14 kun.

5. Video kartada qazib olishdan daromadni qanday oshirish mumkin - 3 sahifa

Sabrsiz o'quvchilar, yak darhol qazib olishni boshlashni va ertangi kuni ertalabdan daromad olishni xohlashadi, doimo ovqatlanadilar - mahorat konchilarni kasb etadi?

Daromad egalik, cryptocurrency kursi, hovuz samaradorligi, fermer xo'jaligi intensivligi, heshreyt miqdori va boshqa omillar sotib bog'liq. Biror kishi masofani bosib o'tishga harakat qilishi mumkin 70 000 rubl , boshqalar mamnun 10 dollar tyzhdenda. Tse beqaror va ishlamaydigan biznes.

Korisny porady dopomozhut daromad oshirish va vitrat optimallashtirish.

Narxlari tez o'sadigan valyutani qazib oling, ko'proq daromad oling. Ko't uchun - yaqin turish uchun bir vaqtning o'zida efir 300 dollar, Bitcoin - ko'proq 6000 . Ale, siz nafaqat hozirgi vartistni, balki kun uchun o'sish sur'atini ham himoya qilishingiz kerak.

Porada 2. Optimal qazib olishni tanlash uchun tog'-kon kalkulyatoridan foydalaning

Hovuzning saytida yoki boshqa ixtisoslashtirilgan xizmatda kon kalkulyatori sizga optimal dasturni tanlash va qazib olish uchun video kartani o'rnatishga yordam beradi.

© 2022 androidas.ru - Android haqida hamma narsa