Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 111 reacties

Ter gelegenheid van de Professional Developers Conference deze week gunt Microsoft ontwikkelaars een glimp van Windows 7. Uit het programma valt op te maken dat Windows 7 de gpu gaat gebruiken om applicaties te versnellen.

Van de 155 onderwerpen op de PDC hebben er 22 betrekking op Windows 7, en 2 daarvan zijn aan het inzetten van de gpu gewijd. Een sessie getiteld: ' Windows 7: Unlocking the gpu with direct3d' zal gaan over op direct3d gebaseerde gpu-versnelling van Win32-applicaties. Op een sessie met de naam 'Windows 7: Writing Your Application to Shine on Modern Graphics Hardware' wordt volgens Microsoft uit de doeken gedaan hoe DirectX voor applicaties gebruikt kan worden 'om de paardenkrachten van grafische hardware te ontsluiten.' Volgens de fabrikant zal bij deze sessie ook aan bod komen hoe applicaties grafische content op verschillende generaties van grafische hardware, over meerdere schermen en op een remote desktop kunnen weergeven.

Hoewel verder weinig bekend is over de inhoud van de sessies, valt volgens TG Daily op te maken dat Windows 7 gpu-acceleratie krijgt, net als Snow Leopard, de komende generatie van Apples Mac OS X-platform.

Windows 7 PDC

Volgens Mary-Jo Foley van Zdnet zal Windows 7 naast de eerder getoonde multitouch-ondersteuning en ribbon-interface, ook 'Device Stage' aan boord hebben, dat een centrale plek moet worden waarvanuit gebruikers externe apparaten als printers, camera's, telefoons en mediaspelers eenvoudig moeten kunnen benaderen. Verder zou het besturingssysteem ook de self-diagnosetool 'Action Center' en een programma genaamd Streamon bevatten, dat dient voor het beheer van audio en video op pc's en apparaten. Ook krijgt Windows 7 verbeterde ondersteuning voor bluetooth, maar of dit iets toe zal voegen aan de verbetering die al met Service Pack 2 voor Vista zal worden doorgevoerd, is niet bekend.

Moderatie-faq Wijzig weergave

Reacties (111)

Ik vind dit toch een zorgwekkende ontwikkeling die hier aan het plaatsvinden is. Je hoort steeds meer dat alle programma's de GPU willen gaan gebruiken. Dit is heel goed voor de performance, maar er wordt ook vergeten dat dit dus ook meer van een GPU afhankelijk gaat worden.

Een GPU is de meest energieverslindende hardware in je PC, 1 die door hybride drivers (onboard chip + kaart, waarbij de kaart uitgeschakeld wordt voor stroombesparing) juist op een langzamere stand gezet wordt, omdat in windows 2d vrijwel geen resources inneemt.

Nu met deze ontwikkeling is een GPU een must. Alle voordelen waarbij een PC zo energiezuinig kan zijn zullen hierdoor toch in het roet gegooid worden. Er komt dan ook totaal niet duidelijk naar voren of een onboard chip hier nu voldoende voor zou zijn waardoor de echte kaart daadwerkelijk uitgeschakeld blijft, of dat deze nodig is waardoor je pc als hij aanstaat altijd meer stroom verbruikt.......

Ik hoop persoonlijk dat het niet betekent dat er overal steeds sterkere kaarten nodig zijn aangezien dit alleen maar extra druk legt op de stroomkosten van een consument.
er zijn genoeg berekeningen die door de GPU sneller kan worden uitgevoerd(factor 20x), als je dat door de CPU had laten doen had dat veel meer stroom gekost.

nieuws: Belgische Fastra-pc met acht gpu's maakt duur cluster overbodig
qoute:
8 GPU` s net zo snel zijn als 350 moderne cpu's.

en dan hebben je bij de 350 cpu variant ook nog te maken met voedingen koeling hd`s netwerk etc.
Een GPU is helemaal niet energieverslindend...

Een GPU verstookt weliswaar 2x zo veel als een CPU, maar levert 10x zo veel rekenkracht. In weze is een GPU dus juist enorm energie efficient!!
Als GTX280 10x zo snel is maar 5 maal zoveel trekt stressed. Dan is die kachel zuiniger omdat het minder kilowatt uur trekt omdat het 10x sneller klaar is en in zuinige idlemode gaat die net zo zuinig als 'n idle CPU scheeld misschien 2x

Nu als je ATI pakt met hun hoge shader ratio is zelfs nog zuiniger.

Dus wordt afwachten wat de performance powerdraw ratio is bij GPGPU benches.
Zal wel gevarieerd zijn.
Ik kan me nog goed herinneren dat Bill Gates jaren geleden heeft gezegd dat de computer op termijn in zijn huidige vorm zou verdwijnen en dat de toekomst lag in multi media devices. In dat kader begrijp ik dan ook niet zo goed waarom men nu ineens tot GPU ondersteuning wil overschakelen, wat voor de meeste weinig nut heeft behalve voor de grafische industrie of toekomstige supercomputers.

Natuurlijk zal er altijd een vorm van esktop omgeving nodig zijn, met name voor het bedrijfsleven maar voor huis, tuin en keukengebruik niet. Verder is het ook zo dat Intel en MS elkaar in leven houden, een soort van kip/ei verhaal. Intel komt met krachtige CPU's en MS komt met eyecande vretende OS'en. Zou je de eyecandy zoals AERO weglaten dan heb je voor een OS helemaal geen zware CPU/GPU nodig.

Daarbij denk ik dat Windows 7 best wel eens het laatste OS kan worden voor de consument qua noodzaak en dat Intel zichzelf voorbij streeft want we hebben straks geen 8-16 core CPU's nodig voor thuisgebruik, waar men wel naar toe wil.

Als ik dat vergelijk met mijn P3-1000 dan doet die nog steeds precies hetzelfde als de systemen van nu en net zo snel. Ik denk dat desktops op termijn verdwijnen, laptops het voor een tijdje over zullen nemen voor casual gebruik, de game console het middelpunt gaat worden van multimedia en de toekomst zal overgaan op smart aansturing binnenshuis waarin voice command en een centrale wireless terminal in huis alles gaat vervangen.

Dat met name zou ik een goeie ontwikkeling vinden zodat Intel zich kan losweken van MS door met een geheel vernieuwde CPU architectuur te komen en hun eigen software aansturing daarvoor. Hopelijk ziet AMD ook eindelijk eens in dat ze Intel feitelijk niet meer nodig hebben straks en kunnen werken aan hun eigen hard/software ontwikkelingen.

MS op termijn zal verdwijnen en zal ook alleen met eigen soft/hardware oplossingen kunnen verder gaan, zoals het nu gaat met de Xbox360 en de PS3, welke steeds meer bewijzen dat pc's overbodig gaan worden.

In ieder geval gaan we spannende tijden tegemoet qua ontwikkelingen want de concurrentie zit ook niet stil en onder andere VIA en ARM timmeren hard aan de weg om dat langzaam maar zeker duidelijk te maken :)
In OS X zit toch al sinds 10.2 gpu-acceleratie? Met Quartz Extreme worden met behulp van openGL verschillende effecten door de GPU uitgevoerd.
Daar gaat het om grafische taken. Dit artikel gaat over het gebruiken van de GPU voor andere taken dan grafische, dus om de gigantische rekencapaciteit van de GPU te gebruiken voor berekeningen die anders door de CPU gedaan zouden worden.

Nvidia heeft in ieder geval al CUDA voor hun kaarten waarmee programma's gebruik kunnen maken van de GPU op NVidia kaarten, ATI heeft vast ook al wel iets dergelijks. Microsoft wil hiermee waarschijnlijk een generieke interface maken, wat ze met DirectX ook al voor wel grafische toepassingen hebben.

Het jammere is natuurlijk dat dit ongetwijfeld ook geen open framework wordt waardoor het weer moeilijker te porten wordt naar andere besturingssystemen.
Daar gaat het om grafische taken. Dit artikel gaat over het gebruiken van de GPU voor andere taken dan grafische
Waar concludeer jij (en al die anderen) dat uit?

Er wordt nergens in het artikel gesuggereerd dat het over GPGPU toepassingen gaat.

Sterker nog de volgende regel:
Volgens de fabrikant zal bij deze sessie ook aan bod komen hoe applicaties grafische content op verschillende generaties van grafische hardware, over meerdere schermen en op een remote desktop kunnen weergeven.
suggereerd dat het gewoon gericht is op grafische applicaties.

Ik denk dan bv aan applicaties als fotobewerking en videobewerking applicaties die nu nog steeds meer heel mondjesmaat van de gpu gebruik maken.
De enige voorbeelden die ik kan bedenken zijn de laatste versies van Photoshop en premiere, en dan nog steeds maar voor een handjevol functies.

Daar kan nog heel wat aan verbeterd worden. En dat is een stuk makkelijker te doen dan GPGPU.

Jullie willen allemaal zo graag zien dat GPGPU gemeengoed word, dat je dingen leest in het artikel die er helemaal niet staan.
In OS X zit toch al sinds 10.2 gpu-acceleratie? Met Quartz Extreme worden met behulp van openGL verschillende effecten door de GPU uitgevoerd.
Uiteraard ondersteunen alle moderne OS'en al sinds jaren 3D-acceleratie, maar daar gaat dit artikel niet over.

Waar het hier wel om gaat is dat berekeningen die momenteel door de CPU uitgevoerd worden, zoals het bewerken van een foto door middel van een filter in Photoshop, door de GPU kunnen worden overgenomen.

De voordelen hiervan zijn tweeledig: niet alleen is de GPU in sommige zaken sneller dan de CPU, maar er wordt ook CPU-kracht vrij gemaakt die benut kan worden voor andere processen.
misschien off topic
maar photoshop cs4 ondersteund vanaf heden gpu acceleratie
ook onder xp
Helemaal niet off-topic want deze sessies gaan juist over hoe grafische applicaties beter gebruik kunnen maken van de gpu.

Photoshop die EINDELIJK eens de gpu gaat gebruiken is dan een goed voorbeedl daarvan!
Mjaa, ik vraag me ook af wat ze/de redactie hier precies mee bedoelt. Aero in Vista gebruikt ook de gpu...

Beetje vaag artikel, eigenlijk weten we nu nog niets.
in vista wordt de grafische kaart enkel aangewend om de interface aan te sturen, maar in Windows 7 zal deze ook gebruikt kunnen worden door andere applicaties
Dat doet bijvoobeeld Photoshop CS4 ook al ...

Dit riekt naar een marketing praatje ....
Ze bedoelen hier het gebruik maken van de GPU als extra rekenkracht bij applicaties. Wat jij bedoelt is de GPU gebruiken om de desktop grafisch te versnellen, dit zit ook in Vista genaamd Aero.
Dat gaat nog steeds om "grafische calculaties" waarbij een specifieke applicaties gebruik weet te maken van een GPU.
Windows weet elke willekeurige applicaties dus toegang te geven tot een extra virtuele CPU core als ze DirectX gebruiken. Dat is opzich best vernieuwend, maar een goed programma kan dan net zo goed direct de GPU gebruiken om niet aan DirectX en daarmee Windows vast te zitten.
Nou lekker, dan zit je aan die specifieke GPU vast. Van de regen in de drup zullen we maar zeggen.
Nee, de low-level aansturing van hardware dient op OS-niveau te geschieden en niet op applicatie-niveau.
Kun je het nog wel een GPU noemen nu steeds meer software dit gaat gebruiken als een soort van takenspecifieke co-processor?
Het lijkt mij eerlijk gezegd van wel. Immers, het gaat toch nog steeds over taken waarbij het gaat over de grafische weergave en niet zozeer direct over heel andere berekeningen (die weliswaar door een gpu gedaan zouden kunnen worden, maar waar een cpu beter in is).
Niet echt, GPGPU heeft vrij weinig met graphics te maken. Een GPU is heel goed in het parallel verwerken van data, door de honderden minithreads (shaders / stream processors) die hij tot z'n beschikking heeft. Dit itt een CPU, die typisch gezien maar 1 thread kent. Nou wil het alleen zo dat lang niet alle berekeningen goed te parallelliseren zijn, en een hedendaagse CPU toch een stuk rapper is dan een hedendaagse GPU. Maar dat betekent niet dat een GPU alleen voor graphics-doeleinden kan worden ingezet. Ik vind de vraag van JapyDooge dan ook wel terecht, maar het ding blijft imho gewoon een GPU door de graphics-gerelateerde hardware die het aan boord heeft (texture mapping units e.d.)

[Reactie gewijzigd door .oisyn op 27 oktober 2008 18:10]

Een GPU is heel goed in het parallel verwerken van data, door de honderden minithreads (shaders / stream processors) die hij tot z'n beschikking heeft. Dit itt een CPU, die typisch gezien maar 1 thread kent.

Ik heb er een hard hoofd in. Wel eens van CUDA gehoord?

http://en.wikipedia.org/wiki/CUDA

Dat is nVidia's API om met de GPU leuke dingen te gaan doen, zodat je 7x sneller zou kunnen renderen dan de CPU, bijv. Nou, vergeet het maar. Laatst nog van de maker van x264 op het Doom9 forum gehoord dat alle pogingen om x264 naar CUDA te porten gestaakt zijn, ook de commerciele probeersels. Het schijnt toch vreselijk lastig te wezen om iets te programmeren voor CUDA dat effectief is. Komt omdat een GPU natuurlijk geen CPU is, en je dus heel anders, veel minder algemeen, te werk moet gaan. De makers van x264 waren net zo ver gekomen dat ze een paar elementaire taken via CUDA konden laten uitvoeren, maar dan wel ettelijke malen minder efficient dan de CPU.

Het idee dus dat MS wel eens eventjes wat reguliere, van oorsprong niet-GPU gerelateerde taken door de GPU zal gaan laten doen, ik moet het nog zien. Te meer daar de GPU architectuur, net als je em onder de knie zou hebben, over twee jaar er weer heel anders uitziet.
Een GPU is heel goed in het parallel verwerken van data, door de honderden minithreads (shaders / stream processors) die hij tot z'n beschikking heeft. Dit itt een CPU, die typisch gezien maar 1 thread kent.
Dat geeft een vertekend beeld als je er vergeet bij te vermelden dat die honderden minithreads in grote mate aan elkaar gekoppeld zijn. De GPU is zeer geschikt om dezelfde bewerkingen op miljoenen elementen uit te voeren, maar niet om miljoenen verschillende bewerkingen op hetzelfde element uit te voeren. Goed om veel pixels te verwerken dus maar nauwelijks flexibel genoeg om iets anders te doen.

GPGPU-toepassingen zijn enorm specifiek en niet zo interessant voor de doorsnee consument. Die is beter af met een snelle CPU voor de applicaties en een GPU die zich enkel met graphics bezighoudt. Bovendien is quad-core nu ook al geen uitzondering meer en gaat in de nabije toekomst de rekenkracht van de CPU die van de GPU steeds meer benaderen (is al aan de gang sinds het einde van de MHz-race).
de CPU die de gpu benaderd? GPU's steigt elke generatie met zeker 50%. een cpu haalt zelden meer als 20-30%.
daarbij heeft een GPU ongeveer elke jaar een generatie wissel. CPU's elke 2 jaar of langer.

en niet zo interestant voor de consument?
wat is nu het enige waar een gemiddelde consument langer als een paar minuten op zou moeten wachten dat heel erg CPU intensief is?
het enige dat ik me kan bedenken is vidoe en audio encoding.
En dat zijn dingen die een GPU heel goed kan doen.

lijkt me dus juist extreem interessant voor consumenten.

edit : de gtx280 is dan ook maar net niet 2 keer sneller. de hd4870 is wel meer als dubbel de snelheid (en niet onbelangrijk, maar 1/3 van de prijs bij de introductie als die 8800gtx... voor die prijs krijg je nu zelfs anderhalve hd4870X2 met 4 keer de power van je 8800gtx). de feiten spreken mij dus niet tegen, je moet alleen even iets verder kijken als de 2 duurste singel-core kaarten en de prijs/Gflops bekijken. CPU's stijgen lang zo hard niet.

en ik zie die samenkomst helemaal nog niet komen. een CPU heeft zijn eigen taken, vooral taken waar single threaded of kleinere aantal threads belangrijk zijn. dat is de kracht van de CPU. waar een gpu juist heel veel simple threads kan verwerken.
niet alle taken zijn geschikt te maken massive paralism en dus blijft er altijd een plaats voor de CPU als hij nu is.
als je een cpu krachter maakt in het werken met heel veel kleine threads gaat dat ten kosten van de single threaded performance(larrabee) OF je krijgt veel groter chips (multi-core).
CPU's zitten wat dat betreft dus net zo vast aan de ontwikkeling van chip technologie als GPU's misschien nog wel meer omdat ze al heel erg doorontwikkeld zijn waar GPGPU pas net begint als serieuze ontwikkeling.

en als je geheugen bandbreedte gaan vergelijken met processor kracht heb je het HEEL goed mis.
die verdievoudiging is alleen op servers misschien waar als je IQP mee telt, anders word hij maar een kleine 50% verhoogd. na al vele jaren al op het zelfde nivo te zitten. in tegenstelling tot GPU bandbreedte.

[Reactie gewijzigd door Countess op 28 oktober 2008 13:02]

de CPU die de gpu benaderd? GPU's stijgt elke generatie met zeker 50%. een cpu haalt zelden meer dan 20-30%. daarbij heeft een GPU ongeveer elke jaar een generatiewissel. CPU's elke 2 jaar of langer.
De feiten spreken je tegen. Neem bijvoorbeeld de GeForce 8800 GTX en GeForce GTX 280. Er zit bijna twee jaar tussen, en de GFLOPS zijn nog net niet verdubbeld. De 8800 GTX stond dan ook nagenoeg twee jaar alleen aan de top.

In die tijd hebben we aan de zijde van de CPU wél een verdubbeling van de prestaties gezien (van dual- naar quad-core en bovendien hogere kloksnelheid). Core i7 zal die trend doorzetten door eerst de geheugenbandbreedte te verdrievoudigen, en in 2010 komen er reeds octa-cores van zowel Intel als AMD.

Zonder de minste twijfel kan ik je ook voorspellen dat de prestatiegroei van de GPU alleen maar zal afnemen terwijl de CPU nog hopen potentieel heeft. De limiterende factoren voor de GPU zijn de warmteontwikkeling en het chipoppervlak. De prestaties kunnen dus enkel nog toenemen naarmate de procestechnologie verbetert (in de vorige jaren maakten ze een inhaalbeweging maar die is nu definitief voorbij). De CPU daarentegen kan nog alle richtingen uit. Kijk bijvoorbeeld naar Larrabee als extreem. 24 in-order cores met vectoren van 16 elementen breed. Kijken we naar de mainstream CPUs dan ligt nog octa-core, AVX en FMA in het verschiet, die allen het aantal GFLOPS verdubbelen zonder echt tegen de limieten aan te lopen. Met andere woorden het is aan de CPU om een inhaalbeweging te maken.

Het resultaat (in vijft tot tien jaar) zal zijn dat de CPU helemaal niet zo veel verschilt van de GPU qua rekenkracht, maar des te flexibeler is. Het enige dat de GPU-fabrikanten kunnen doen is hun GPUs flexibeler maken, maar dit gaat dan weer ten koste van de prestaties zodat ze uiteindelijk ook dichter bij de CPU komen te liggen. Om nog maar een voorbeeld te geven: bijna 30% van de G200 bestaat uit registers, waarvan de structuur eigenlijk weinig verschilt van dat van de cache van een CPU. Core i7 heeft dan weer een kleinere cache, zonder de prestaties te schaden.

Op de lange duur is een samensmelting dus onafwendbaar, en je ziet nu reeds de aanzet.
Goed om veel pixels te verwerken dus maar nauwelijks flexibel genoeg om iets anders te doen.

GPGPU-toepassingen zijn enorm specifiek en niet zo interessant voor de doorsnee consument.
Toch doet Nvidia's Cuda MPEG-4 H.264 encoder (BadaBOOM) het zo'n 6x sneller dan Nero's encoder. Natuurlijk zegt dat niet alles, maar 6x haal je niet door wat efficiëntere algoritmen en door het wat minder nauw te nemen met kwaliteit.
Tuurlijk, met een GeForce GTX 280. Probeer dat maar eens na op dit systeem: http://www.tones.be/nieuws.php?id=0270. Inderdaad, quad-core wordt met rasse schreden mainstream, terwijl de doorsnee GPU mid- of low-end is. H.264 encodering gaat Jan Modaal echt niet overtuigen om een dure grafische kaart te kopen. Die quad-core daarentegen heeft pas echt een invloed op de vlotheid van het ganse systeem.
er staat zelfs 9 keer sneller.
met een mid range kaartje voor een paar tientjes heb je nogsteeds zo'n 4 a 5 keer sneller.
en het algoritme van de encoder zal waarschijnlijk nog wel verbeterd kunnen worden.

en die quadcore daar merkt jan modaal helemaal niks van waarschijnlijk.

goedkope dual core voor een paar tientjes minder met een mid-range gpu zal zeker sneller zijn in de toekomst voor een groot aantal taken.

edit : zoals hierboven al is uitgelegt, voorlopig stijgen GPU's harder in hun prestaties per euro als CPU's. in de toekomst met de ontwikkeling van betere GPGPU toepassingen (en hopelijk een standaard en open taal zoals openCL (waar ATI nu aan werkt met een aantal andere) zal mijn stellen dus alleen maar meer waar worden.

[Reactie gewijzigd door Countess op 28 oktober 2008 18:41]

@ Countess,

Mijn eerste dual-core was een Athlon 64 X2 4400+, en kostte meer dan 500 ¤ (was pas gereleased). Nu vind je niks minder dan dual-core, en heb je er al eentje voor voor 70 ¤ en minder. Quad-core gaat exact dezelfde richting uit. Eerst waren ze onbetaalbaar, nu kost een Q6600 slechts 150 ¤, en erg lang zal het niet duren eer de dual-cores uit de winkels verdwijnen. Core i7 krijgt nog wel een dual-core model, maar ook die draait 4 threads simultaan.

Voor softwareontwikkelaars is het dan ook een gegarandeerde investering om hun software te optimaliseren met multi-threading.

De GPU daarentegen kan varieren van een onbetrouwbare en slome IGP tot een 200+ Watt SLI opstelling. Zelfs voor dezelfde kaart heb je 101 verschillende drivers. De 'lowest common denominator' is dus niet interessant en je hebt geen garantie dat je applicatie uberhaupt wel werkt bij de klant!

Allemaal mooi dat NVIDIA in één eigen test zo'n snelheidswinst haalt (lees albatross' post hieronder over Doom9 ook eens), in de praktijk ben je voor het sneller draaien van applicaties veel beter af met een multi-core CPU.
Jawel, want de main-task van een GPU is nog steeds beelden maken. Dat het ook voor andere dingen gebruikt kan worden, is alleen maar mooi meegenomen :)
De shaders maken van een GPU een GPGPU beest.
De andere helft is puur voor grapics toepasbaar. Rop's TMU backend.
Bij larrabee is dit weer stuk gereduceerd.
Veel is software amtig.
Het zal me niets verbazen als ATI of nVidia binnenkort met de benaming UPU op de proppen komen. Universal Processing Unit.
GPU wordt dan General Processing Unit :Y)
Je kan altijd claimen dat het altijd al General Processing Unit geweest is :)
Ja, in feite is het dan meer een GPCPU, general purpose etc. etc. Feitelijk zijn ze al wat langer bezig om van GPU's wat meer te maken dan grafische rekeneenheden (zoals die PhysX ondersteuning voor GeForce chips). Zo gebruikt de nieuwste Photoshop-telg ook al vrij handig je GPU, zo is het manipuleren van het venster (zoomen e.d.) nu supersoepel.
Zou niet de eerste keer zijn. Bij RAID en DVD is dat bijvoorbeeld ook gebeurd. Alleen dan in een wat vroeger stadium...
Ach, zo zijn er wel meer voorbeelden..
GCC - GNU C Compiler
werdt:
GCC - GNU Compiler Collection
En nog eentje:

PHP - Personal Home Page

werdt:

"Personal Home Page" with Hypertext Preprocessor
PHP = PHP Hypertext Preprocessor, anders mis je een P.
Hm interessant. Ben heel benieuwd hoeveel dit gaat schelen in performance. Nog even en je koopt op den duur een goedkope trage CPU en dankzij de dure videokaart heb je toch een mega snel systeem :-)
(edit: of nog leuker, je pakt een oud systeem dat niet echt geschikt is voor Vista, en dankzij een nieuwe videokaart toch voor windows7 dat zou nog eens een interessante upgrade zijn :-) )

Vraag me ook af of deze handige directx ondersteuning ook op Vista zal komen mbv een directX update.

[Reactie gewijzigd door benbi op 27 oktober 2008 17:22]

Ben heel benieuwd hoeveel dit gaat schelen in performance.
Geen ruk. Men kan al járen Direct3D gebruiken voor applicaties en toch gebeurt het nauwelijks. Windows 7 gaat daar niet plots verandering in brengen. Veel zaken zijn nu eenmaal niet geschikt om op de GPU te draaien. Bovendien groeit de rekenkracht van de CPU sterker dan ooit dankzij multi-core en meer vectoreenheden.
Men kan al járen Direct3D gebruiken voor applicaties en toch gebeurt het nauwelijks.
Oh ja, hoe dan? Geef mij eens een fatsoenlijke tutorial voor GPGPU via DirectX, dan praten we weer.

Windows 7 brengt DirectX 11, met compute shaders. Dit is waarschijnlijk wat ze in het artikel ook bedoelen. Compute shaders zijn stukken code die op de GPU uitgevoerd worden, maar in tegenstelling tot vertex en pixel shaders is deze code niet verbonden aan 3d primitieven (pixels, vertices). Compute shaders zijn vergelijkbaar met wat mogelijk is met NVIDIA's CUDA, maar in tegenstelling tot CUDA werkt dit op elke DirectX 11 kaart, niet alleen die van NVIDIA.

Compute shaders zijn een revolutie op het gebied van GPGPU, en applicaties die er gebruik van maken kunnen zo makkelijk enorm veel performancewinst krijgen. Dit is totaal niet vergelijkbaar met eerdere DirectX GPGPU mogelijkheden, voor zover deze er al zijn.
Geef mij eens een fatsoenlijke tutorial voor GPGPU via DirectX, dan praten we weer.
RTFM.

Neen, het is niet eenvoudig, maar DirectX 11 zal daar weinig verandering in brengen. De interface naar de hardware is maar een kleine drempel in vergelijking met het schrijven van de eigenlijke applicatie. Van DirectX 10 werd ook reeds gezegd dat het revolutionair beter was voor GPGPU-applicaties, maar daar heeft ook nog niemand echt een impact van gezien. En als compute shaders dan zo revolutionair zijn als CUDA, waar blijft dan de killer-app van CUDA (iets dat niet mogelijk is met DX10)?

Blijf dus maar lekker met beide voeten op de grond. Het is mooie vooruitgang, dat zeker, maar niks om opgewonden over te geraken.
En waarom zou Microsoft zelf DirectX niet gedeeltelijk op de GPU laten draaien. Het zou mij juist niet verbazen als Windows de beeldopbouw juist verplaatst naar de GPU.

Tuurlijk worden de CPU's steeds krachtiger, maar de software welke we erop draaien vereisen dat meestal ook. Mijn computer van nu is relatief gezien niet heel erg sneller dan in 1993 met Windows 3.11. Vanwege de hogere hardware eisen wordt dat allemaal teniet gedaan.

DirectX is een abstractie toolkit voor (game) developers om zaken te vereenvoudigen. Als Microsoft met DirectX (met eveneens DirectDraw) als de GPU kan aanspreken, kan jij dat straks via bijv. XNA dat ook. Echter de opdracten zijn wel voorgedefineerd, dus niet is niet zo heel erg simpel om zelf de hardware aan te sturen.

Echter Windows Media Player kan er gebruik van maken, maar ook delen van de aero desktop. Alle taken welke Windows kan delegeren naar de GPU zorgt ervoor dat de CPU kostbare tijd overhoud voor niet presentatie doeleinden.

Waarom zou MSIE bijvoorbeeld geen gebruik kunnen maken van de GPU. Websites gebruiken ook steeds meer grafisch geweld. De CPU parsed dan de HTML, terwijl de GPU het beeld renderd.
RTFM.
Ik ben bekend met de msdn documentatie voor DirectX, en hoewel deze uiterst handig is staat hier helemaal niets bruikbaars over GPGPU.
De interface naar de hardware is maar een kleine drempel in vergelijking met het schrijven van de eigenlijke applicatie.
Maar als de interface geen mogelijkheden geeft voor het uitvoeren van eigen code die niet gekoppeld is aan de zeer beperkte functionaliteit van vertex en pixel shaders, dan kun je gewoon niet een geschikte applicatie schrijven. Hoe wil je een fatsoenlijk stuk GPU-geaccelereerde software schrijven als je niet eens vrij uit geheugen kan lezen en weg kan schrijven? Als je geen communicatie tussen threads kan hebben? Als de enige manier van data input en output via pixels in een texture is?
Van DirectX 10 werd ook reeds gezegd dat het revolutionair beter was voor GPGPU-applicaties, maar daar heeft ook nog niemand echt een impact van gezien.
Dat is helemaal nergens gezegd, althans niet voor zover ik weet. De belangrijkste punten voor DX10 waren snelheid, unified shaders, geometry shader, instancing en texture arrays. GPGPU is hier nooit van belang geweest, sterker nog, toen DX10 bedacht werd was GPGPU niets meer dan een toekomstdroom waar alleen mensen op universiteiten echt mee bezig waren.
En als compute shaders dan zo revolutionair zijn als CUDA, waar blijft dan de killer-app van CUDA (iets dat niet mogelijk is met DX10)?
CUDA is nog maar anderhalf jaar uit, en GPGPU is niet iets waar zomaar iedere programmeur mee aan de slag kan. Bovendien moet het management bij een bedrijf ook geloven dat het zin heeft om een dergelijke technologie te gaan gebruiken, is CUDA een gesloten technologie die alleen werkt op NVIDIA kaarten, en heeft maar een klein deel van alle applicaties daadwerkelijk iets aan de technologie. Ondertussen krijgen we straks wel Badaboom!, een media encoder die van CUDA gebruik maakt, Photoshop die straks ook GPU acceleratie krijgt. Bovendien wordt er in gespecialiseerde applicaties voor bijvoorbeeld financiele markten, olie en mijnbouw en medische toepassingen. Zie ook de hoeveelheid applicaties die al op de CUDA website staan.
voor zover ik weet heb ja wel nog steeds een degelijke CPU nodig om je videokaart van gegevens te voorzien, anders krijg ja hier een bottleneck, en heb je je geld voor een deel weggegeooid
Da's niet zo'n grote kopzorg als veel mensen denken. Een instap-CPU als de E7200 kan ruim voldoende een HD4780 of een GTX280 voeren. Die bottlenecks ontstaan vaak wanneer iemand een verouderd systeem denk op te patchen met een brute videokaart, zodat je een combinatie krijgt van een Athlon64 3000+ i.c.m. een GeForce GTX260, dan krijg je inderdaad een bottleneck probleem.
Een E7200 is een redelijk recente dual core CPU, dat noem ik dus wel een "degelijke" CPU.
Het werk voornamelijk bij zeer parraleliserende task. PC moet alles doen dus zwaar afhankelijke code zal niet snel zijn op gPU maar je cheap CPU ook niet.

Dus Dikke CPU dikke GPU als je allround wilt zijn.
Grappig, het is net alsof we weer 20 jaar terug in de tijd gaan, naar het tijdperk van de floating point coprocessor .. :)

Ik vraag me af hoe lang het nu weer gaat duren voordat alle GPU's geintegreerd zijn in de CPU's .. :o
Je bedoelt Larrabee?
Larrabee is niet echt een GPU geïntegreerd in een CPU, maar een multicore CPU met wat GPU features zodat deze ook goed dienst kan doen als GPU. Larrabee zal de hedendaagse CPU ook niet vervangen, maar meer dienst doen als coprocessor.
Larrabee is dé GPGPU platform maar zeker in eerste uitvoering door nog steed enkele fixpoint units toch zeker een GPU. Zij het dat het voor 98% unified is door x86 corretjes die 16 GFX taken kunnen doen en meer dan shader taken op zich nemen.
Er blijven goede redenen waarom de GPU op een eigen kaart blijft. O.a. bijvoorbeeld de geheugen bandbreedte.
Core i7 verdrievoudigt de geheugenbandbreedte, en kan zich daarmee meten met mid-end grafische kaarten.
Apple heeft het van de DirectX jongens, niet andersom!

De GPU's worden al jarenlang ontwikkeld in onmiddellijk samenwerking met Microsoft, niet in samenwerking met Apple. GPU's en DirectX worden al in de allereerste ontwikkelfase perfect op elkaar afgestemd. Vanuit die samenwerking hebben NVidia, ATI en Microsoft gezamelijk besloten dat het handiger zou zijn wanneer GPU's programmeerbare floating point shaders kregen, i.p.v. met proprietaire shaders te werken. Daaruit kwam logischerwijze ook onmiddellijk de mogelijkheid voor andere toepassingen kwamen. Dat werdt dan ook al heel snel gedemonstreerd, en in de nieuwere DirectX specificaties werd die mogelijkheid ook heel bewust verder uitgebreid.

Daar kwam al die tijd geen Apple aan te pas.

Uiteraard, is de techniek niet specifiek voor Windows... En juist reken clusters die zulke GPGPU's goed kunnen gebruiken draaien vaak op Unix, dus hebben ATI en NVidia natuurlijk onmiddellijk deze technologie ook naar die platformen gebracht.

En daar plukt Apple dus nu de vruchten van. Maar zelf hebben ze er niets aan bijgedragen.
niet waar. opengl had hardware versnelling voordat ms met direct x kwam, dus om die reden kun je direct x niet als voorbeeld noemen.

daarnaast was apple wel degelijk de eerste die voor de os gui interface de hardware van 3d videokaarten gebruikte als compositing engine. dingen als expose en dergelijk werden daardoor mogelijk.

later kopieerde ms door dingen als flip 3d in het os onder te brengen. die aero interface van hun gebruikte ook de compositing van de videokaart hardware.

directx kun je met opengl vergelijken, en windows aero kun je met quartz extreme vergelijken. opengl was er eerder dan directx en quartz extreme was er eerder dan aero.

[Reactie gewijzigd door BreezahBoy op 27 oktober 2008 18:27]

Microsoft maakte tot voor kort deel uit van de OpenGL review board (idd niet wat je zou verwachten maar het is echt zo), en Apple nog steeds. Dus in die zin hebben ze er allebei wel het een en ander aan bijgedragen.

Zoals AHBdV het stelt is het in ieder geval zeker niet. Programmeerbare shaders zijn noch een uitvinding van Microsoft, noch van Apple. Microsoft had wel als een van de eerste commerciele vendors een API voorhanden, maar dat is meer een kwestie van inspelen op de marktvraag dan dat ze het speciaal voor een bepaald doel ontwikkeld hebben. OpenGL had een shader language sinds versie 1.5, DirectX sinds versie 9 geloof ik, volgens mij ontlopen die releases elkaar erg weinig dus veel zin heeft het niet om te kijken wie de eerste was

OS X was trouwens wel het eerste commerciele OS dat de GUI volledig 3D accelerated kon tekenen.

[Reactie gewijzigd door johnbetonschaar op 27 oktober 2008 19:08]

Met DX 8.0 werd shader model 1.0 ingevoerd door MS, dit was op die tijd assembler.
Vanaf DX 9 werd HLSL en shader model 2.0 ingevoerd.

En elke HLSL shader is te compilen naar een assembler uitvoering met de tool die met de DXSDK wordt gelevered.

[Reactie gewijzigd door NC83 op 27 oktober 2008 19:56]

OS X was trouwens wel het eerste commerciele OS dat de GUI volledig 3D accelerated kon tekenen.
De techniek was (en is) echter zo buggy dat het standaard niet ingeschakeld is. Vista is dus het eerste commerciele OS dat out-of-the-box GPU acceleratie voor de window manager heeft.
Wederom niet juist. Quartz Extreme maakte hier al gebruik van. Quartz 2D Extreme niet. Er is een artikel op Ars Technica wat Quartz 2D Extreme uitlegt.

ArsTechnica
Onzin. :Z Hoe denk je dat Mac OS X effecten als Exposé, dashboard etc. weergeeft? Juist, door middel van GPU acceleratie (Quartz Extreme en Core Image).

[Reactie gewijzigd door Frietsaus op 27 oktober 2008 22:27]

Huh, wat bedoel je daarmee? Heb je uberhaupt ooit wel eens OS X gebruikt??

In 10.4.0 was Quartz Extreme inderdaad nog niet ingeschakeld, maar dat doet apple met bijna alle nieuwe libraries & technieken: eerst introduceren maar disablen zodat developers er vast mee aan de slag kunnen en dan een versie later alles aanzetten, wanneer er ook al gebruik van gemaakt wordt. Zo zit Core Animation nu al in Leopard maar zal de applicatiesupport pas in Snow Leopard komen.

Jouw verhaal dat de GPU versnelling van OS X buggy zou zijn kan ik echt op geen enkele manier plaatsen, ik gebruik al Macs sinds 10.4.1 en die ene keer dat ie vastgelopen was kwam het door een bug in de Airport Extreme driver.
En daar plukt Apple dus nu de vruchten van. Maar zelf hebben ze er niets aan bijgedragen.
Mwah, dat zou ik niet zo hard zeggen.

Dit komt een beetje op me over als een cursus hoe je met wat hackwerk in D3D general purpose dingen kan doen. Denk niet dat je dat kan vergelijken met wat Apple aan het ontwikkelen is met de combinatie van Grand Central, OpenCL en LLVM.
Denk niet dat je dat kan vergelijken met wat Apple aan het ontwikkelen is met de combinatie van Grand Central, OpenCL en LLVM.
DirectX 11 brengt de compute shader, die makkelijk GPGPU mogelijk gaat maken. Ik ben geen expert op het gebied, maar volgens mij biedt het een zelfde featureset als OpenCL.
DirectX 11 brengt de compute shader, die makkelijk GPGPU mogelijk gaat maken. Ik ben geen expert op het gebied, maar volgens mij biedt het een zelfde featureset als OpenCL.
Ja, maar het gaat om de combo OpenCL en Grand Central: Zie ook dit artikel
Afgezien van de ontwikkeling en samenwerkingen waardoor de gemiddelde GPU er nu uitziet zoals hij doet, waarin je ongetwijfeld gelijk zult hebben, is het wel degelijk OS X die de eerste praktische applicatie van de GPU om de CPU te ontlasten, heeft toegepast.

Toch zie je dat OpenGL ook aardig wat mooie verbeteringen heeft opgeleverd (en dus heeft bijgedragen). En trouwens, als DirectX zo geweldig afgestemd is, waarom zien we het alleen terug op Windows?
:? Direct3D en DxVA, de twee meestgebruikte GPU acceleraties, bestonden al voor OS X.
OpenGL bestond al voor Direct3D :S :P
OS X is juist het laatste platform waar dit op komt, zowel Linux en Windows hebben al een aantal GPU versnellende zaken (DxVA op Windows, XvMC op Linux). Al wordt Snow Leopard naar het schijnt een grote inhaalslag.
OS X had ook al GPU versnelling hoor, Core Graphics (10.4 Tiger), en Core Animation (10.5 Leopard).
OS X had ook al GPU versnelling hoor, Core Graphics (10.4 Tiger), en Core Animation (10.5 Leopard).
Dat is een fabeltje. Quartz 2D Extreme zat inderdaad "in theorie" in Tiger, maar was zo instabiel dat het standaard uitgeschakeld was. Ook in Leopard is dat nog het geval. Microsoft was dus eerder met een door de GPU geaccelereerde window manager.
Maar Quartz Extreme zat er al wel in. En Core Image maakt ook gebruik van de GPU. Met Snow Leopard gaan ze dus niet image gerelateerde berekeningen uitvoeren op de GPU. Hetzelfde waar Nvidia mee bezig is. Bij Apple willen ze het een standaard maken met OpenCL.
och, uit alles is wel een vergelijkbaar iets terug te vinden. Mijn auto heeft ook 4 wielen die rond zijn met groefjes, het is niet omdat iets al bestaat de ander het niet mag gebruiken. Desnoods betalen ze wel voor de licenties om deze techniek te gebruiken maar het is alleen maar ten goede van iedereen dat deze technieken beschikbaar komen voor het grote publiek.

Moest alles exclusief van de uitvinder komen zou er niet veel verspreiding van innovatie zijn en zouden we dus blijven stilstaan.
Dit is een beetje een verwarrend verhaal aangezien Vista (en XP ook al, etc) allang bepaalde taken op de GPU doen, bv DXVA offload video decoding naar de GPU. En 3D games gebruiken natuurlijk ook al ruim tien jaar GPU acceleratie. OS X doet natuurlijk ook allang allerlei OpenGL dingen op de GPU (helaas nog geen video decoding).

Dit nieuwe systeem in Windows 7 (en Snow Leopard) moet in de toekomst algemene ("general purpose", GPGPU) taken op de GPU gaan uitvoeren, dus niet zoals nu alleen heel specifiek gedefinieerde berekeningen als video decoding/overlay/etc. Daarvoor worden nieuwe libraries en API's ontwikkeld (OpenCL).

[Reactie gewijzigd door Dreamvoid op 27 oktober 2008 17:33]

Misschien heeft dit te maken met de DX11 Compute shaders.
Daar zit ik dan, met mijn energieverslindende 8800GTX. Ik dacht laatst nog aan een upgrade naar een 4870X2, ook vanwege een eventuele HDMI aansluiting.
Maar dan lees ik dat dat ding 250+ watt verstookt. Dat wordt minder als dat ding aan het idlen is op je desktop, maar alsnog wordt er veel te veel verstookt voor 2D omgevingen.
Met die reden in het achterhoofd weerhoudt ik mij voorlopig van een upgrade die richting op.
Het liefst zie ik een drivermodel, of desnoods een extra simpel 2D chipje op de videokaart, die wordt ingeschakeld als je geen 3D apps hebt draaien. Scheelt ook weer de nodige warmte, want het is schijnbaar ook nodig om al die topkaarten op 50+ graden te laten draaien.
Waar gaat dit naartoe? Ik wil helemaal NIET dat Windows met mijn grafische kaart gaat klooien! Laat dat ding a.u.b. lekker in een slaapstand schieten ofzo.

Tegenwoordig hebben wij dual -of quadcores in ons systeem zitten. Nu weet ik dat een GPU ontzettend veel rekenkracht biedt. Maar schrijf dan toch applicaties of drivers die de 2e, 3e en 4e core van je cpu benutten. Dat gebeurt nu echt veel te weinig!

Dus Microsoft: maak a.u.b. eens een besturingssysteem dat echt gebruik kan maken van multicore cpu´s.
Laat de gpu nou maar lekker even links liggen.
Waar gaat dit naartoe? Ik wil helemaal NIET dat Windows met mijn grafische kaart gaat klooien! Laat dat ding a.u.b. lekker in een slaapstand schieten ofzo.
Idd, ik moet er ook niet aan denken dat die fans van mijn 8800GT gaan draaien.. maar het kan wel een aanzet zijn voor videokaartenfabrikanten om daar op in te spelen en betere, stillere koeling te bouwen, of nog beter natuurlijk: hardware die die achterlijke koeling uberhaupt niet nodig heeft..
Moet je maar geen energieverslindende kaart kopen. Zolang de consument ze blijven kopen zal er weinig reden zijn voor GPU fabrikanten het anders te doen.
Leuke feature, maar niet echt energie zuinig als je het mij vraagt, een berekening op een GPU vraagt dacht ik meer stroom dan een berekening op de CPU.
Ik ben er niet helemaal zeker van.. maar volgens mij klopt dat niet helemaal... voor zover ik weet is het niet gegeven dat berekening X op de CPU meer/minder stroom zou kosten dan op de GPU..

Het zal zeker GPU/CPU afhankelijk zijn..
Sterker nog, als je CPU 1000 cylcles voor een berekening voor nodig heeft en je GPU voor dezelfde berekening maar 100 dan kan die laatste nog wel eens zuiniger zijn.
Ik denk ook dat een gewone CPU per core ook gewoon veel meer rekenkracht heeft. Het feit dat een GPU meer cores heeft maakt de individuele core nog niet beter. Daarnaast is een CPU core flexibeler. Ook de klok frequentie ligt bij een gewone CPU core veel hoger.

Als je een GPU core met een CPU core gaat vergelijken krijg je denk ik een heel kromme uitkomst.

[Reactie gewijzigd door E_E_F op 27 oktober 2008 17:32]

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True