Trädvy Permalänk
Avstängd
Plats
Västerås
Registrerad
Feb 2016

Utnyttja GPU

Hej.

Som många känner till så kan en GPU vara mycket kraftfull om den används rätt. Är det någon som har gjort något roligt exempel?

Jag är själv helt ny på detta men ska försöka skriva ihop något roligt, något som har något förslag?

Jag skrev ett exempel där COS och SIN beräkningar görs. Körde det på min laptop och stationära dator. GPUn fullkommligt krossar allt motstånd

Är det någon som vet om Crossfire stöds out of the box i opencl?

Att göra ett set av uträkningar på min laptop (Intel Core2 Duo 2.2Ghz) tar ca 395sek (singletrådat)

Att göra samma uträkning på min AMD 8350 singletrådat tar 187 sek

Att göra samma uträkning på min AMD 8350 som är en av AMDs snabbade CPUs med 8st trådar tar 18 sek

Sedan till det roliga, samma uträkning på mitt grafikkort R9 380 4GB tar 0.7 sek som bäst.

Antalet parallella trådar på GPUn fick följande resultat:

25st trådar = 44sek,
50st trådar = 22 sek,
100st trådar = 11.5sek,
1000st trådar = 1.62sek,
2000st trådar = 1.1sek,
4000st trådar = 0.8sek,
8000st trådar = 0.7sek,
16000st trådar = 0.7sek

Trädvy Permalänk
Medlem
Plats
Zion
Registrerad
Apr 2004

Aldrig gjort något liknande men lite skoj idé faktiskt CrossFire bör köra direkt så länge det är påslaget i drivers tror jag, det är de som sköter det inte koden i sig så länge du trådar det m.m. så fördelar korten själv på loaden, därav kan du slå av CR i drivers för alla spel eller slå på för alla. Bara en gissning men iaf

Ja vill du göra något lite utmanande så beräkna ett visst antal punkter på en bana genom en 3D rymd där den påverkas av olika krafter, bör vara väldigt lärdomsrikt och faktiskt om du någonsin vill göra något med 3D bra för att se möjligheterna med fysikberäkningar på grafikkort

[ i5-6600K @ 4.7Ghz || Corsair H110 GTX || 16GB DDR4 || ASUS Z170 Pro Gaming || Asus ROG 1080 Strix @ 2100+/11Ghz+ ]
Unigine Superposition 1080p; 17487 @ Medium; 4594 @ Extreme
"One is always considered mad, when one discovers something that others cannot grasp."
- Ed Wood

Trädvy Permalänk
Medlem
Plats
Halmstad
Registrerad
Apr 2003

Utveckla en extension för PHP 7 som manipulerar bilduppladdningar (skalning, crop, filter osv), alla CPU baserade bibliotek jag använt är groteskt långsamma

Annars får jag vänta & se om kommande standalone Xeon Phi fixar biffen iställen

Hur kan syltkakor överleva i det vilda utan ögon?

Trädvy Permalänk
Avstängd
Plats
Västerås
Registrerad
Feb 2016

Kul tips

Att lägga in krafter få bli i versionen efter, kan nog ta en hel del tid med att skapa gravitation. Behöver något som går att göra klart på några få dagar.

Mitt första exempel får bli en 3D labyrint med tex. 10.000.000.000.000^3 rum.

Mellan punkt A och B finns det bara en väg, hur lång tid tar det för GPUn att lösa det?

Gissning för att gå A-B, 2timmar?

edit: jag missade helt, detta kommer inte alls att fungera då alla förflyttningar måste ske sekventiellt.

Trädvy Permalänk
Avstängd
Plats
Västerås
Registrerad
Feb 2016
Skrivet av JesperA:

Utveckla en extension för PHP 7 som manipulerar bilduppladdningar (skalning, crop, filter osv), alla CPU baserade bibliotek jag använt är groteskt långsamma

Annars får jag vänta & se om kommande standalone Xeon Phi fixar biffen iställen

Är de biblioteken trådbaserade, hur lång tid tar det per bild?

Med flertalet trådar borde det inte ta så lång tid?

Jag skrev en app i höstas som skalade på 8st trådar, då gick det att manipulera lite över 1st bild i sekunden, inklusive disk IO där bilderna låg på en disk.

203st bilder tog exempelvis 148sek på högsta kvalite(från 5MP till 0.1MP), som du ser har alla 8st kärnorna precis varit mycket upptagna.

Väljer man medelkvalitet så tar det ca 18sek för 203st bilder(dvs ca 11bilder/sek).

Xeon Phi såg intressant ut

Ska läsa och se vad det innebär, vad kostar ett sådant?

Trädvy Permalänk
Medlem
Plats
Halmstad
Registrerad
Apr 2003
Skrivet av burner1:

Är de biblioteken trådbaserade, hur lång tid tar det per bild?

Med flertalet trådar borde det inte ta så lång tid?

Jag skrev en app i höstas som skalade på 8st trådar, då gick det att manipulera lite över 1st bild i sekunden, inklusive disk IO där bilderna låg på en disk.

203st bilder tog exempelvis 148sek på högsta kvalite(från 5MP till 0.1MP), som du ser har alla 8st kärnorna precis varit mycket upptagna.

Väljer man medelkvalitet så tar det ca 18sek för 203st bilder(dvs ca 11bilder/sek).

Xeon Phi såg intressant ut

Ska läsa och se vad det innebär, vad kostar ett sådant?

http://s23.postimg.org/gnfwt9bsr/timedump.jpg

Nja, senast jag körde GD & ImageMagick så var dom singeltrådade, vet inte om samma gäller om man kör ImageMagick via terminalen, har inte använt dom på ett bra tag. Gick över till GraphicsMagick för ett tag sedan vilket är multitrådat, tyvärr körs min webbserver på en klen liten dual core CPU så hjälpte ju inte så mycket.

Hårdvaran räcker gott som webbserver, inga problem där, men vill man ladda upp några hundra bilder där alla bilder resizas till 5 storlekar så är det ganska smärtsamt, speciellt eftersom jag alltid laddar upp i orginalstorlek, att processa en orginalbild från en Canon 5Ds tar en evighet. Satt nog i över 1 timma & laddade upp 400 bilder med ett par bilder åt gången, bara ett uppladdningstillfälle tar mer CPU tid än resten av webbservern inklusive alla databaser (redis, mysql & elasticsearch) gör åt med på en månad.

Jag överlever men vore ett kul projekt att effektivisera det lite, har ett GTX 970 som ligger & skräpar som kunde ha fått agera fotoprocesserare

Har funderat själv på att göra detta men jag lade ner den tanken nu när Intel kommer lansera stand alone Xeon Phi snart, skall vara helt kompatibel med dom flesta x86 64-bit program (vad jag läst mig till), innan var man ju tvungen att programmera rakt till Xeon Phi som coprocessor.

Dom är rätt dyra, väldigt dyra, förra generationen: http://ark.intel.com/products/family/92649/Intel-Xeon-Phi-Cop...

Sorry, jäkla wall of text, men hade inget annat förslag på något annat roligt man kunde göra men en GPU

Hur kan syltkakor överleva i det vilda utan ögon?

Trädvy Permalänk
Avstängd
Plats
Västerås
Registrerad
Feb 2016

Inte alla som har ett GTX 970 liggandes, jag vill också ha ett sådant

Om du utnyttjar det så har du bättre prestanda än ett Xeon Phi. Dyraste kostade 40.000kr och hade 61 kärnor aka 1.23 GHz. Totalt alltså 75GHz (teoretiska max). Eller har jag helt fel kring Xeon Phi?, ganska så dyrt för den prestandan i så fall.

Ett sämre(mycket) kort än det du har alltså, alltså mitt R9 380 har en verkligt beräkningskapacitet på 870GHz.

Trädvy Permalänk
Medlem
Plats
Linköping
Registrerad
Jun 2007
Skrivet av burner1:

Om du utnyttjar det så har du bättre prestanda än ett Xeon Phi. Dyraste kostade 40.000kr och hade 61 kärnor aka 1.23 GHz. Totalt alltså 75GHz (teoretiska max). Eller har jag helt fel kring Xeon Phi?, ganska så dyrt för den prestandan i så fall.

Ett sämre(mycket) kort än det du har alltså, alltså mitt R9 380 har en verkligt beräkningskapacitet på 870GHz.

Du kan inte räkna beräkningskapacitet i GHz, det säger väldigt lite om den verkliga prestandan. Enligt Wikipedia så ska Xeon Phi 7120P vara kapabel till 1200 GFLOPS med dubbelprecisions-flyttal, medan R9 380 klarar 217 GFLOPS. Däremot så är säkert R9 380 bättre när det gäller enkelprecision, eftersom det är mer relevant för grafikberäkningar.

Xeon Phi kommer ju från Larrabee-projektet, och var från början tänkt att fungera både som grafikkort och för generella beräkningar. Larrabee lades sedan ner, men en del levde vidare i Xeon Phi fast då utan grafikkorts-delarna. Jag är inte så jätteinsatt i arkitekturen, men kärnorna i Knights Corner (generationen som länkades) är baserade på samma design som de första Pentium (fast med en hel del förändringar så klart). Med grafikkort så gäller det ju att man kan utföra samma instruktioner på en stor mängd data, annars dyker prestanda rejält. Jag kan tänka mig att Xeon Phi är mycket mer flexibel när det gäller sånt.

Trädvy Permalänk
Medlem
Plats
Halmstad
Registrerad
Apr 2003
Skrivet av burner1:

Inte alla som har ett GTX 970 liggandes, jag vill också ha ett sådant

Om du utnyttjar det så har du bättre prestanda än ett Xeon Phi. Dyraste kostade 40.000kr och hade 61 kärnor aka 1.23 GHz. Totalt alltså 75GHz (teoretiska max). Eller har jag helt fel kring Xeon Phi?, ganska så dyrt för den prestandan i så fall.

Ett sämre(mycket) kort än det du har alltså, alltså mitt R9 380 har en verkligt beräkningskapacitet på 870GHz.

Njaa, det går inte riktigt räkna exakt så, Xeon Phi kör 4 trådar per kärna, dom Xeon Phi som lanseras vilken sekund som helst kommer ha 72 kärnor, så 288 trådar per kort, kanske en klockfrekvens ökning också, säg 1.3GHz, så totalt ca 374GHz (går egentligen inte räkna så heller), har för mig kommande Xeon Phi använder Silvermont kärnor men som är kraftigt modifierade för HPC. Sen vet vi ju inte riktigt vilka kärnor som har bäst prestanda per GHz, Xeon Phi eller AMD/Nvidias GPU kärnor. Hade GPU varit så mycket bättre så hade ju inte världens snabbare superdator (fan vad löjligt det låter på svenska), använt sig av Xeon Phi istället för valfri GPU lösning.

Så det är svårt att jämföra rakt av.

Fördelen med Xeon Phi är ju att dom framöver kommer vara 100% Xeon kompatibla, så allt som kan köras på en Xeon CPU kan också köras fristående på en Xeon Phi, bra för mig som inte kan OpenGL, DirectX, Vulkan eller något liknande bibliotek för GPU.

Så problemet för mig är att jag i dagsläget INTE kan utnyttja mitt 970

Iofs, detta kanske är sjukt offtopic för din tråd, sorry

Hur kan syltkakor överleva i det vilda utan ögon?

Trädvy Permalänk
Avstängd
Plats
Västerås
Registrerad
Feb 2016
Skrivet av perost:

Du kan inte räkna beräkningskapacitet i GHz, det säger väldigt lite om den verkliga prestandan. Enligt Wikipedia så ska Xeon Phi 7120P vara kapabel till 1200 GFLOPS med dubbelprecisions-flyttal, medan R9 380 klarar 217 GFLOPS. Däremot så är säkert R9 380 bättre när det gäller enkelprecision, eftersom det är mer relevant för grafikberäkningar.

Xeon Phi kommer ju från Larrabee-projektet, och var från början tänkt att fungera både som grafikkort och för generella beräkningar. Larrabee lades sedan ner, men en del levde vidare i Xeon Phi fast då utan grafikkorts-delarna. Jag är inte så jätteinsatt i arkitekturen, men kärnorna i Knights Corner (generationen som länkades) är baserade på samma design som de första Pentium (fast med en hel del förändringar så klart). Med grafikkort så gäller det ju att man kan utföra samma instruktioner på en stor mängd data, annars dyker prestanda rejält. Jag kan tänka mig att Xeon Phi är mycket mer flexibel när det gäller sånt.

Jo visst är ett Xeon Phi mer flexibelt kort på många områden med begränsningen på låga 1.23GHz per kärna.

Men i detta fall när vi pratar bildhandling så hittar jag inget som säger att ett Xeon Phi klara att hänga på en modern GPU. Det är ändå bildhandling som en GPU är skapad för.

I single precision är ett R9 380 50% snabbare är ett Xeon Phi och ett GTX 970 ännu snabbare

Hur som helst, jag skulle också vilja köpa mitt ett Xeon Phi, men 3X (vilket motsvarar 10 TFLOPS) normala grafikkort i crossfire är värt att tänka över kanske för den som vill ha något utöver det vanliga?

Trädvy Permalänk
Avstängd
Plats
Västerås
Registrerad
Feb 2016
Skrivet av JesperA:

Njaa, det går inte riktigt räkna exakt så, Xeon Phi kör 4 trådar per kärna, dom Xeon Phi som lanseras vilken sekund som helst kommer ha 72 kärnor, så 288 trådar per kort, kanske en klockfrekvens ökning också, säg 1.3GHz, så totalt ca 374GHz (går egentligen inte räkna så heller), har för mig kommande Xeon Phi använder Silvermont kärnor men som är kraftigt modifierade för HPC. Sen vet vi ju inte riktigt vilka kärnor som har bäst prestanda per GHz, Xeon Phi eller AMD/Nvidias GPU kärnor. Hade GPU varit så mycket bättre så hade ju inte världens snabbare superdator (fan vad löjligt det låter på svenska), använt sig av Xeon Phi istället för valfri GPU lösning.

Så det är svårt att jämföra rakt av.

Hehe, riktigt intressant detta.

Sett till tex. 70st kärnor så kan det bara utföras 70 parallella uppgifter på samma gång. HT innebär inte på riktigt att det sker parallella processer utan mer åt att det är singletrådat * 1.5.

Så verklig prestanda blir 72 kärnor * 2 trådar = 144 * 1.3GHz = 187GHz (åtminstone en fingervisning om prestandan)

Tyvärr har jag aldrig fått skriva något för ett Xeon Phi kort så inte helt lätt att veta verklig prestanda. Jag vet dock skillnaden mellan en AMD 8350 med 8 kärnor och mitt mellanklass R9 380

Skrivet av JesperA:

Fördelen med Xeon Phi är ju att dom framöver kommer vara 100% Xeon kompatibla, så allt som kan köras på en Xeon CPU kan också köras fristående på en Xeon Phi, bra för mig som inte kan OpenGL, DirectX, Vulkan eller något liknande bibliotek för GPU.

Så problemet för mig är att jag i dagsläget INTE kan utnyttja mitt 970

Iofs, detta kanske är sjukt offtopic för din tråd, sorry

Ja, det är en av de stora fördelarna.