dobrý den.
prosímvás poraďte jak na windows v c++ udělat aby se výpočetní výkon aplikace přesunul pouze na grafickou kartu.
zkrátka to místo procesoru bude vypočítávat grafická karta.
#1 dragon124
Nějak jednoduše to nejde. Musíš přepsat celou aplikaci. Buď můžeš použít výše zmiňované technologie CUDA/OpenCL, anebo některé problémy jde celkem jednoduše vyřešit i pomocí vertex shaderu (ty jednodušší), popř. ty složitější (spíše náročnější na počet vstupních dat) pomocí pixel shaderu. Výsledek potom přečteš jako texturu. Výhoda těchto řešení spočívá v tom, že jsou nezávislé na výrobci (ATI/nVidia) a pokud použuiješ starší verzi PS nebo VS, tak jsou spustitelné i na starších kartách.
Vím, že vytahuji staré téma, ale jedná se o zajímavou věc, která si určitě zaslouží pozornost.
Microsoft před pár měsíci představili novou technologii C++ AMP - jedná se o API, které umožňuje snadno využít výpočetní výkon grafické karty v čistém C++ (bez shaderů). Velice se mi toto řešení zamlouvá. Je jednoduché, efektivní a intuitivní. Zatím má jeden háček (který snad v budoucnu vymizí anebo časem nebude tak palčivý) - současně je C++ AMP implemetnován pouze pro grafické karty s Direct3D 11 a výše.
Viz velice pěkná přednáška: http://channel9.msdn.com/Events/BUILD/BUILD2011/TOOL-802T
Shader je program, který se spouští přímo na grafické kartě, rozšiřuje, respektive umožňuje upravit části pipline (vykreslovacího procesu) k tvým potřebám. Tyto programy se psávali v ASM, dnes se píší v HLSL.
Ano, opravdu chci reagovat → zobrazí formulář pro přidání příspěvku