Po przeczytaniu rdzeni CUDA zakładam, że rdzenie CUDA są zwykłymi rdzeniami GPU. Można ich używać do wykonywania obliczeń fizycznych w celu rozładowania procesora za pomocą PhysX lub mogą być one wykorzystywane do wykonywania innych pracochłonnych obliczeń, takich jak kodowanie / renderowanie, które jest często wolniejsze na CPU. Zakłada to również, że renderowanie grafiki to nic innego jak dużo komputerów, które są poprawne według mojej wiedzy.
Kontekstem do zadawania pytań jest to, że chciałbym wiedzieć, czy można grać w gry i renderować / konwertować rzeczy w tym samym czasie, zwiększając produktywność, gdy moja maszyna jest włączona.
Czy rdzenie CUDA są rdzeniami roboczymi procesora graficznego, czy też są osobnymi rdzeniami, które można wykorzystać wyłącznie do obliczeń?
źródło
Odpowiedzi:
Nowoczesne silniki graficzne oparte są na shaderach. Shadery to programy działające na sprzęcie graficznym w celu tworzenia geometrii (sceny), obrazów (renderowanej sceny), a następnie efektów post-pikselowych.
Z artykułu w Wikipedii na temat shaderów:
Nowoczesne karty graficzne mają od setek do tysięcy rdzeni obliczeniowych zdolnych do wykonywania tych shaderów. Kiedyś były dzielone między moduły cieniowania geometrii, wierzchołków i pikseli, ale architektura jest teraz zunifikowana, rdzeń jest zdolny do wykonywania dowolnego typu modułu cieniującego. Pozwala to na znacznie lepsze wykorzystanie zasobów, ponieważ silnik gry i / lub sterownik karty graficznej może dostosować liczbę shaderów, które mają zostać przypisane do danego zadania. Więcej rdzeni przydzielonych do cieniowania geometrii może dać więcej szczegółów w krajobrazie, więcej rdzeni przydzielonych do cieniowania pikseli może dać lepsze efekty, takie jak rozmycie ruchu lub efekty świetlne.
Zasadniczo dla każdego piksela widocznego na ekranie wiele shaderów jest uruchamianych na różnych poziomach dostępnych rdzeni obliczeniowych.
CUDA to po prostu API Nvidias, które daje programistom dostęp do rdzeni w GPU. Podczas gdy słyszałem termin „rdzeń CUDA”, w grafice rdzeń CUDA jest analogiczny do procesora strumieniowego, który jest rodzajem rdzenia przetwarzania używanego przez karty graficzne. CUDA uruchamia programy na rdzenie graficzne, programy mogą być shaderami lub mogą być zadaniami obliczeniowymi do wykonywania bardzo równoległych zadań, takich jak kodowanie wideo.
Jeśli zmniejszysz poziom szczegółowości w grze, możesz zmniejszyć obciążenie obliczeniowe karty graficznej do punktu, w którym mogą używaj go do robienia innych rzeczy, ale chyba że możesz powiedzieć tym innym, aby zwolniły, to prawdopodobnie spróbują zepsuć rdzenie procesora graficznego i uniemożliwić grę.
źródło