hotchpotch/wikipedia-multilingual-ir-pairs huggingface dataset:
여주시의 지질 광산과 지하자원
옥봉광산(玉峰鑛山)은 여주시 북내면과 양평군 지평면(북위 37° 34′ 25″ 동경 127° 50′ 50″﻿ / ﻿북위 37.57361°  동경 127.84722° ﻿ / 37.57361; 127.84722)의 경계에 위치하며 일제 강점기인 1914년 이래 단속적으로 채굴되어 온 금 광산이다. 쥐라기 흑운모 화강암과 복운모 화강암 내에 남-북 방향으로 발달한 단층대를 충전한 3조의 평행한 석영맥으로 주맥(主脈)은 폭 0.3~30 m, 연장 700 m에 동쪽으로 60~85° 경사하고 5개 갱도가 개설되었다. 주요 광물은 금, 은이며 미량의 황철석, 황동석, 방연석, 유비철석(硫砒鐵石), 휘동석(輝銅石)이 포함된다. 평균 품위는 금 10.25 g/t, 은507 g/t으로 보고되었다.
신여광산은 여주시 북내면 교황동(북위 37° 23′  동경 127° 40′ ﻿ / ﻿북위 37.383°  동경 127.667° ﻿ / 37.383; 127.667)에 위치한 금 광산이며 흑운모 화강암 내 열극을 충전한 함금석영맥으로 본맥은 폭 1~3 m, 연장 300 m에 황철석, 방연석, 섬아연석, 황동석이 수반된다.
여주시의 지질 금왕 단층
금왕 단층(金旺 斷層, Geumwang Fault)은 한반도 내 대한민국 충청북도 진천군에서 시작해 음성군 금왕읍, 여주시, 강원특별자치도 원주시, 횡성군, 홍천군, 인제군 상남면을 지나 설악산에 이르는 북동-남서 방향, 총 연장 170 km의 대규모 주향 이동 단층이다. ESR 연대측정 결과 금왕 단층은 신생대 제4기에 약 70만 년 전부터 10만 년 전까지 활동해온 활성단층으로 드러났다.
여주 지질도폭(1975)에서는 여주시 동부 점동면 현수리에서 장안리, 강천면 강천리와 부평리, 도전리로 이어지는 주향 북동 5~10°의 단층선이 항공사진 판독과 야외조사로 발견되었다. 중생대 쥐라기 대보 화강암 지대를 지나는 단층은 편마암 및 편암 내에서 단층경면을 보이며 주향 이동 및 경사 단층으로 확인되었다.
음성군 금왕읍 용계리에서 여주시 점동면 현수리 일대에 이르는 약 23.7 km 구간에서는 청미천으로 유입되는 수계를 따라 선상지가 다수 발달한다. 특히 여주시 점동면 뇌곡리 및 성신리 일대에는 큰 규모의 선상지가 잘 발달해 있다.
조안 먼데일
조안 먼데일(Joan Mondale, 혼전성 애덤스(Adams), 1930년 8월 8일 ~ 2014년 2월 3일)은 1977년부터 1981년까지 미국의 세컨드 레이디이었으며, 미국의 42대 부통령인 월터 먼데일의 아내였다. 그녀는 예술가이자 작가였으며 여러 단체의 이사회에서 활동했다. 그녀의 예술 진흥을 위해 그녀는 애정 어린 조안 오브 아트라는 별명을 얻었다.
마릴린 퀘일
마릴린 터커 퀘일(영어: Marilyn Tucker Quayle, 1949년 7월 29일 ~ )은 미국의 변호사이자 소설가이다. 그녀는 미국의 제44대 부통령인 댄 퀘일과 결혼했으며, 1989년부터 1993년까지 미국의 세컨드 레이디로 재임했다.
장크트갈렌 (오스트리아)
장크트갈렌(Sankt Gallen)은 오스트리아 슈타이어마르크주 리첸군에 있는 지방 자치 단체이다.
포털플레이어
포털플레이어(PortalPlayer, Inc.)는 1999년에 설립된 팹리스 반도체 회사로, 개인 미디어 플레이어용 시스템 온 칩 반도체, 펌웨어 및 소프트웨어를 공급했다. 이 회사는 반도체 설계와 펌웨어 개발을 담당했으며, 실제 반도체 제조는 상업적인 파운드리에 위탁했다.
이 회사는 애플이 아이팟 개발을 위해 계약한 회사로 이름을 알렸다. 이 회사는 2004년 11월에 IPO를 통해 공개되었고, 나스닥에서 티커 심볼 PLAY로 거래되었다. 애플에 대한 매출은 회사 총 수익의 90%까지 성장했으며, 결국 애플이 아이팟 라인의 미디어 프로세서 칩 공급업체를 변경하면서 회사에 타격을 주었다.
2007년 1월 5일, 엔비디아는 약 3억 5천 7백만 달러에 포털플레이어를 인수했다고 발표했다.
포털플레이어 제품
공유 SRAM (3x 32KB 뱅크)을 가진 듀얼 ARM7TDMI 코어. 메모리 컨트롤러의 에라타로 인해 데이터 캐시 성능이 절반으로 줄어들지만 SRAM은 빠르다. ARM7TDMI는 캐시 일관성을 지원하지 않으므로, 개별 ARM7TDMI 코어는 DRAM에 대한 일관된 뷰를 가지지 않는다. SRAM에 일관성을 도입하기 위해 맞춤형 로직이 사용된다.
다음 장치에서 사용되었다:
두 개의 ARM7 CPU 코어가 포함된 시스템 온 칩으로, 각 코어는 최대 90MHz로 작동한다. 5002 캐시 버그를 수정하여 DRAM 성능을 크게 향상시켰다.
다음 장치에서 사용되었다:
포털플레이어 제품
두 개의 ARM CPU 코어가 포함된 시스템 온 칩으로, 각 코어는 75MHz로 작동한다. 크로스바 스타일 스위치를 사용하여 SRAM을 4개 뱅크(128KB)로 확장했다.
다음 장치에서 사용되었다:
다음 장치에서 사용되었다:
SRAM은 더 이상 빠르거나 느린 뱅크로 분할되지 않으며, 모든 뱅크가 균일한 접근 속도를 가진다.
다음 장치에서 사용되었다:
통합 오스트리아 마이크로시스템즈 AS3514 DAC 및 전원 관리 칩이 내장된 PP5022.
다음 장치에서 사용되었다:
포털플레이어의 애플리케이션 프로세서 시리즈.
다음 장치에서 사용되었다:
병렬 스레드 실행
병렬 스레드 실행(Parallel Thread Execution, PTX 또는 NVPTX)은 엔비디아의 CUDA(Compute Unified Device Architecture) 프로그래밍 환경에 사용되는 저수준 병렬 스레드 실행 가상 머신 및 명령어 집합이다. 엔비디아 쿠다 컴파일러(Nvidia CUDA Compiler, NVCC)는 C++와 유사한 언어인 CUDA로 작성된 코드를 PTX 명령어(IL)로 번역하고, 그래픽 드라이버에는 PTX 명령어를 실행 가능 바이너리 코드로 번역하는 컴파일러가 포함되어 있다. 이 코드는 엔비디아 그래픽 처리 장치(GPU)의 처리 코어에서 실행할 수 있다. GNU 컴파일러 모음 및 LLVM도 PTX를 생성할 수 있다. 인라인 PTX 어셈블리는 CUDA에서 사용할 수 있다.
병렬 스레드 실행 레지스터
PTX는 임의로 큰 프로세서 레지스터 세트를 사용하며, 컴파일러의 출력은 거의 순수한 정적 단일 할당 형식으로, 연속된 줄은 일반적으로 연속된 레지스터를 참조한다. 프로그램은 다음과 같은 형식의 선언으로 시작한다.
이것은 세 인자 어셈블리어이며, 거의 모든 명령어가 동작하는 데이터 타입(부호 및 너비)을 명시적으로 나열한다. 레지스터 이름 앞에는 % 문자가 붙고 상수는 리터럴이다. 예를 들어:
술어 레지스터가 있지만, 셰이더 모델 1.0의 컴파일된 코드는 분기 명령과 함께만 사용한다. 조건 분기는 다음과 같다.
setp.cc.type 명령어는 술어 레지스터를 적절한 타입의 두 레지스터를 비교한 결과로 설정하며, set 명령어 또한 있다. set.le.u32.u64 %r101, %rd12, %rd28는 64비트 레지스터 %rd12가 64비트 레지스터 %rd28보다 작거나 같으면 32비트 레지스터 %r101을 0xfff로 설정한다. 그렇지 않으면 %r101은 0x00000000으로 설정된다.
병렬 스레드 실행 레지스터
의사 레지스터를 나타내는 몇 가지 미리 정의된 식별자가 있다. 그 중 %tid, %ntid, %ctaid, 그리고 %nctaid는 각각 스레드 인덱스, 블록 차원, 블록 인덱스, 그리고 그리드 차원을 포함한다.
병렬 스레드 실행 상태 공간
로드(ld) 및 저장(st) 명령은 여러 가지 다른 상태 공간(메모리 뱅크) 중 하나를 참조한다. 예를 들어 ld.param.
여덟 가지 상태 공간이 있다.
.reg
레지스터
.sreg
특수, 읽기 전용, 플랫폼별 레지스터
.const
공유, 읽기 전용 메모리
.global
전역 메모리, 모든 스레드에서 공유
.local
지역 메모리, 각 스레드에 비공개
.param
커널에 전달되는 매개변수
.shared
한 블록 내 스레드 간 공유되는 메모리
.tex
전역 텍스처 메모리 (더 이상 사용되지 않음)
공유 메모리는 PTX 파일에서 다음과 같은 형식의 줄로 선언된다.
PTX로 커널을 작성하려면 CUDA 드라이버 API를 통해 PTX 모듈을 명시적으로 등록해야 하는데, 이는 CUDA 런타임 API와 엔비디아의 CUDA 컴파일러인 nvcc를 사용하는 것보다 일반적으로 더 번거롭다. GPU Ocelot 프로젝트는 CUDA 런타임 API 커널 호출과 함께 PTX 모듈을 등록할 수 있는 API를 제공했지만, GPU Ocelot은 더 이상 활발히 유지 관리되지 않는다.
엔비디아 BR02
엔비디아의 BR02 "고속 상호 연결"(High Speed Interconnect, "HSI") 칩은 초기 PCI 익스프레스 그래픽 카드에 사용되었으며, 컴퓨터와의 PCI 익스프레스 연결과 기본 AGP GPU 사이의 다리 역할을 했다. 이를 통해 엔비디아는 새로운 인터페이스를 위해 그래픽 카드의 GPU를 재설계하지 않고도 PCI 익스프레스 그래픽 카드를 출시할 수 있었다. 이 칩은 2004년에 도입되었다.
엔비디아는 반대 방향으로 작동하는 HSI 칩도 개발하여, 기본 PCI 익스프레스 GPU를 AGP 인터페이스용으로 출시된 그래픽 카드에 사용할 수 있도록 했다.
이 칩은 AGP 표준의 노후화로 인해 최신 엔비디아 GPU에서는 더 이상 사용되지 않는다.
엔비디아 3D 비전
엔비디아 3D 비전(Nvidia 3D Vision, 구 명칭: 지포스 3D 비전)은 엔비디아의 단종된 스테레오스코픽 게임 키트로, 액정 셔터 안경과 장치 드라이버 소프트웨어로 구성되어 Direct3D 게임에서 다양한 호환성으로 스테레오스코픽 시야를 가능하게 했다. 셔터 안경에는 여러 가지 예가 있다. 전기적으로 제어되는 기계식 셔터 안경은 20세기 중반으로 거슬러 올라간다. LCD 셔터 안경은 1980년대에 등장했으며, 그 중 하나는 세가의 세가스코프이다. 이는 세가의 비디오 게임 콘솔, 마스터 시스템에서 사용 가능했다. 2008년에 출시된 엔비디아 3D 비전 게임 키트는 이 기술을 주류 소비자와 PC 게이머에게 제공했다.
이 키트는 120 Hz LCD 모니터를 위해 특별히 설계되었지만, CRT 모니터(일부는 1024×768×120 Hz 및 더 높은 화면 재생 빈도에서도 작동할 수 있음), DLP 프로젝터, 3LCD 프로젝터 등과도 호환된다. 엔비디아의 호환 그래픽 카드(지포스 200 시리즈 또는 이후 버전)가 필요하다.
엔비디아 3D 비전 셔터 안경
이 안경은 무선 IR 프로토콜을 사용하며 USB 케이블로 충전할 수 있어 약 60시간 동안 연속 사용이 가능하다.
무선 이미터는 USB 포트에 연결되어 기본 드라이버 소프트웨어와 인터페이스한다. 또한 지원되는 DLP TV 세트를 연결하기 위한 VESA 스테레오 포트도 포함되어 있지만, 엔비디아 3D 비전 드라이버가 설치된 PC 없이 독립적으로 작동하는 것은 허용되지 않는다.
엔비디아는 3D 비전 키트(SKU 942-10701-0003)에 셔터 안경 한 쌍을 포함한다. 각 렌즈는 60 Hz로 작동하며, 번갈아 가며 120 Hz의 3차원 경험을 제공한다.
엔비디아 3D 비전 스테레오 드라이버
스테레오 드라이버 소프트웨어는 애플리케이션에서 제출된 3D 모델을 사용하여 표준 모노 뷰 대신 두 개의 스테레오스코픽 뷰를 렌더링함으로써 자동 스테레오스코픽 변환을 수행할 수 있다. 자동 드라이버는 두 가지 모드로 작동한다: 3D 비전 드라이버가 스테레오 컨버전스(팝 아웃) 및 스테레오 분리(화면 깊이)를 제어하는 완전히 "자동" 모드와, 게임 개발자가 독점적인 NVAPI를 사용하여 화면 깊이, 분리 및 텍스처를 제어하는 "명시적" 모드이다.
쿼드 버퍼링 모드는 개발자가 렌더링을 제어하여 드라이버의 자동 모드를 피하고 렌더링된 스테레오 이미지를 왼쪽 및 오른쪽 프레임 버퍼와 관련 백 버퍼에 직접 제공할 수 있도록 한다.
엔비디아 스테레오 드라이버의 뿌리는 1990년대 유선 ELSA Revelator 셔터 안경과 함께 제공된 소프트웨어에서 찾을 수 있다. 엔비디아는 이 기술을 인수하여 스테레오스코픽 셔터 안경을 포함한 다양한 스테레오스코픽 디스플레이 기술을 자체 드라이버 버전으로 지원해 왔으며, 이 드라이버는 엔비디아 그래픽 카드에서만 작동했다.
엔비디아 3D 비전 스테레오 드라이버
2008년, 엔비디아는 드라이버를 대대적으로 재작성하여 윈도우 디스플레이 드라이버 모델을 사용하도록 변경했으며, 이로 인해 윈도우 비스타 및 엔비디아의 안경과만 호환되었다. 이 스테레오 드라이버는 3D 비전 드라이버로 이름이 변경되었다.
2019년 4월 11일, 엔비디아는 드라이버에서 3D 비전 지원을 중단한다고 발표했다. 3DTV 지원도 중단되었다. 버전 425.31 이후의 드라이버 릴리스에는 3D 비전 지원이 포함되지 않는다.
딥 러닝 안티에일리어싱
딥 러닝 안티에일리어싱(Deep Learning Anti-Aliasing, DLAA)은 엔비디아가 개발한 공간적 안티에일리어싱의 한 형태이다. DLAA는 엔비디아 RTX 카드에서 사용 가능한 텐서 코어에 의존하며 이를 필요로 한다.
DLAA는 딥 러닝 슈퍼 샘플링 (DLSS)과 안티에일리어싱 방식이 유사하지만, DLSS의 목표는 이미지 품질을 희생하여 성능을 향상시키는 것인 반면, DLAA의 주요 목표는 성능을 희생하여 이미지 품질을 향상시키는 것이다(해상도 업스케일링 또는 다운스케일링과 무관하게). DLAA는 템포럴 안티에일리어싱 (TAA)과 유사하게 과거 프레임 데이터에 의존하는 공간적 안티에일리어싱 솔루션이다. TAA와 비교할 때, DLAA는 깜빡임, 깜박거림 및 전선과 같은 작은 메시 처리에 있어서 훨씬 더 우수하다.
딥 러닝 안티에일리어싱 기술 개요
DLAA는 원본 저해상도 입력, 모션 벡터, 깊이 버퍼, 노출 정보 등 게임 렌더링 데이터를 수집한다. 이 정보는 합성곱 신경망으로 전달되어 이미지를 처리하여 미세한 디테일을 보존하면서 에일리어싱을 줄인다.
신경망 아키텍처는 고품질 참조 이미지로 훈련된 오토인코더 설계를 사용한다. 훈련 데이터 세트에는 서브 픽셀 디테일, 고대비 가장자리, 투명 표면과 같은 까다로운 경우에 초점을 맞춘 다양한 시나리오가 포함된다. 그런 다음 네트워크는 프레임을 실시간으로 처리한다.
TAA와 같이 수동으로 작성된 휴리스틱 이론에 의존하는 기존의 안티에일리어싱 솔루션과 달리, DLAA는 신경망을 사용하여 원치 않는 시각적 아티팩트를 제거하면서 미세한 디테일을 보존한다.
딥 러닝 안티에일리어싱 역사
DLAA를 처음 지원한 게임은 2021년에 이 기능을 구현한 엘더스크롤 온라인이었다. 2022년 6월 현재 DLAA는 6개의 게임에서만 사용할 수 있었다. 이 숫자는 2023년 2월에 17개로 늘어났다. 2023년 6월, 테크파워업(TechPowerUp)은 "DLAA가 게임 개발자들 사이에서 채택이 더디다"고 보고했으며, 엔비디아가 채택을 늘리기 위해 DLSS의 품질 프리셋에 DLAA를 추가하는 작업을 하고 있다고 밝혔다. 2023년 12월 현재, DLAA는 41개의 게임에서 지원된다. 2025년 초, 엔비디아 앱 업데이트를 통해 드라이버 기반 DLSS 오버라이드 기능이 추가되어 사용자가 기본적으로 지원하지 않는 게임에서도 DLAA를 활성화할 수 있게 되었다.
딥 러닝 안티에일리어싱 TAA와 DLAA의 차이점
TAA는 많은 최신 비디오 게임 및 게임 엔진에서 사용된다. 그러나 이전의 모든 구현은 고스팅 및 플리커링과 같은 시간적 아티팩트를 방지하기 위해 어떤 형태로든 수동으로 작성된 휴리스틱 이론을 사용했다. 그 한 예로 과거 프레임에서 수집된 샘플이 새로운 프레임에서 근처 픽셀과 너무 많이 벗어나는 것을 강제로 방지하는 인접 클램핑이 있다. 이는 많은 시간적 아티팩트를 식별하고 수정하는 데 도움이 되지만, 이러한 방식으로 미세한 디테일을 의도적으로 제거하는 것은 블러 필터를 적용하는 것과 유사하므로 이 방법을 사용할 때 최종 이미지가 흐릿하게 나타날 수 있다.
DLAA는 위에서 언급된 수동으로 프로그래밍된 휴리스틱 대신, 시간적 아티팩트를 식별하고 수정하도록 훈련된 오토인코더 합성곱 신경망을 사용한다. 이 때문에 DLAA는 일반적으로 다른 TAA 및 TAAU 구현보다 디테일을 더 잘 해결하는 동시에 대부분의 시간적 아티팩트를 제거할 수 있다.
딥 러닝 안티에일리어싱 DLSS와 DLAA의 차이점
DLSS는 성능에 중점을 두어 업스케일링을 처리하는 반면, DLAA는 시각적 품질에 중점을 두어 안티에일리어싱을 처리한다. DLAA는 DLAA에서 제공하는 업스케일링 또는 다운스케일링 기능 없이 주어진 화면 해상도에서 실행된다.
DLSS와 DLAA는 동일한 AI 기반 안티에일리어싱 방법을 공유한다. 따라서 DLAA는 업스케일링 부분을 제외하고 DLSS와 같이 작동한다. 둘 다 엔비디아에서 제작되었으며 텐서 코어가 필요하다. 그러나 DLSS와 DLAA는 동시에 활성화할 수 없으며, 성능 또는 이미지 품질 중 어떤 것을 우선시하는지에 따라 하나만 선택할 수 있다.
딥 러닝 안티에일리어싱 평가
TechPowerUp은 "[TAA 및 DLSS와 비교했을 때], 특히 낮은 해상도에서 DLAA가 분명히 최고의 이미지 품질을 생성한다"며 "DLSS는 작은 개체를 재구성하는 데 TAA보다 이미 더 나은 작업을 수행했지만, DLAA는 훨씬 더 나은 작업을 수행한다"고 주장했다.
사이버펑크 2077 성능 테스트에서 IGN은 "DLAA는 대부분의 경우 일반 래스터 모드와 FPS 면에서 다소 유사한 결과를 제공했지만, 기본 해상도에서는 사용할 수 없는 기능인 프레임 생성의 도움으로 상당한 성능 향상을 얻었다"고 밝혔다.
Rock, Paper, Shotgun은 DLAA가 "완전히 완벽한 안티에일리어싱 형태는 아니며, 가끔씩 들쑥날쑥한 부분이 나타나지만", "전반적으로 [TAA보다] 훨씬 선명해 보이며, 특히 움직일 때 그렇다"고 평가했다.
BFG 테크놀로지스
BFG 테크놀로지스(BFG Technologies)는 미국에 본사를 둔 비상장 기업으로, 엔비디아 그래픽 기술을 기반으로 한 전원 공급 장치 및 비디오 카드 공급업체이자 고급 게임/홈 시어터 컴퓨터 시스템 제조업체였다. BFG 테크놀로지스 브랜드 제품은 북아메리카와 유럽의 소매점과 온라인 상점에서 판매되었다. 회사의 본사는 레이크포리스트 근처의 레이크군, 일리노이주에 위치해 있었다.
BFG 테크놀로지스 그래픽 카드
BFG는 주류부터 열광적인 사용자 수준의 컴퓨터를 위한 그래픽 카드를 제조했다. 그들은 Asylum 브랜드로 알려져 있었지만, 엔비디아 5 시리즈 그래픽 가속기는 그 이름을 사용한 마지막 제품이었다. 그들은 오버클럭(OC) 버전의 그래픽 카드, 평생 보증 및 24/7/365 미국 기반 기술 지원으로 컴퓨터 마니아들에게 가장 잘 알려져 있었다. BFG는 제조업체 권장 속도보다 이미 오버클럭된 카드를 제공한 최초의 그래픽 카드 회사 중 하나였다. 그 이후로 많은 다른 제조업체들이 BFG의 모델을 모방했다.
가장 최근의 주력 그래픽 카드는 공랭식 솔루션인 BFG 엔비디아 GeForce GTX 285 OCX와 수랭식 솔루션인 BFG 엔비디아 GeForce GTX 295 H2OC였다. 그들은 엔비디아 GeForce GTX 295의 공랭식 버전도 제조했지만, 오버클럭되지는 않았다.
2010년 5월 18일, BFG 테크놀로지스의 회장인 존 슬레빈은 수익성이 좋지 않아 더 이상 그래픽 카드를 개발하지 않을 것이라고 발표했다.
BFG 테크놀로지스 그래픽 카드
2010년 8월, BFG는 처음에는 GPU 사업에 국한되었던 청산 절차를 시작했지만, 결국 전체 회사로 확대되었다. 이로 인해 BFG는 보증 서비스, 수리 또는 교체를 위한 RMA(Return Merchandise Authorization) 요청을 이행하지 않고, 대신 간략한 설명 편지와 함께 제품을 고객에게 반환했다. 그러나 PNY 테크놀로지는 "PNY가 나섰으며 BFG 고객에게 비디오 카드를 할인된 가격으로 PNY 비디오 카드를 구매할 수 있는 쿠폰으로 교환할 수 있도록 노력할 것"이라고 발표했다. 이 교환 프로그램은 2010년 12월 31일에 종료되었으며, PNY는 더 이상 BFG 카드에 대한 요청을 받지 않는다. 회사의 BFG 브랜드 이름은 이후 다이아몬드 멀티미디어 브랜드를 소유한 베스트 데이터에 인수되었다.
BFG 테크놀로지스 데스크톱 컴퓨터
2009년 1월 5일, BFG 테크놀로지스는 성능 제어가 가능한 터치 패널 LCD, BFG Tech 그래픽 카드, CoolIT의 액체 냉각 솔루션 및 인텔 프로세서를 특징으로 하는 Phobos라는 데스크톱 컴퓨터 라인을 출시했다.
BFG 테크놀로지스 전원 공급 장치
BFG 테크놀로지스는 ATX 호환 PC를 위한 모든 범위의 전원 공급 장치를 제조했다. BFG의 전원 공급 장치 라인업은 과거에 530W, 550W, 600W, 650W, 800W 및 1000W로 구성되었지만, 이후 각 시장별로 분리된 범주로 세분화되었다.
BFG 테크놀로지스 전원 공급 장치
GS 시리즈는 GS-450, GS-550, GS-650으로 구성되었으며, 각각 450W, 550W, 650W 전원 공급 장치로 주류 제품으로 판매되었고, 최대 전력 및 실내 온도에서 정격되었으며 거의 베스트 바이와 같은 소매점에서 독점적으로 판매되었다. LS 시리즈는 BFG 테크놀로지스의 주류 시리즈로, LS-450 450W 전원 공급 장치, LS-550 550W 전원 공급 장치 및 LS-680 680W 전원 공급 장치로 구성되었다. 이들은 연속 전력 및 보다 현실적인 40°C에서 정격되었다. BFG 테크놀로지스의 전원 공급 장치 제품 중 주력 제품은 ES 시리즈로, ES-800 단일 모델로만 구성되었다. 이 장치는 연속 및 40°C에서 정격되었을 뿐만 아니라, "주파수 변환"이라는 기술을 특징으로 했는데, 이는 전원 공급 장치의 스위칭 주파수를 부하와 일치하도록 변경하는 방법을 정의하는 데 사용되는 용어이다. 이를 통해 기존 설계가 10% 미만의 부하에서 효율이 현저히 낮을 수 있었던 반면, 이 장치는 매우 낮은 부하에서도 가능한 한 효율적일 수 있었다. ES 시리즈는 나중에 EX-시리즈로 대체되었는데, 본질적으로 사용하지 않는 케이블을 제거할 수 있는 모듈식 인터페이스를 갖춘 ES 시리즈였다.
BFG 테크놀로지스 PhysX 카드
BFG 테크놀로지스는 에이지아의 PhysX 처리 칩과 라이브러리를 사용하는 128MB PPU를 제공했다. 이 카드는 PCI 버전으로만 소매 패키지로 제공되었다.
프로젝트 덴버
프로젝트 덴버(Project Denver)는 엔비디아가 설계한 중앙 처리 장치의 코드명으로, 단순한 하드웨어 디코더와 소프트웨어 기반 이진 변환 (동적 재컴파일)의 조합을 사용하여 ARMv8-A 64/32비트 명령어 집합을 구현한다. "덴버의 이진 변환 레이어는 운영 체제보다 낮은 수준의 소프트웨어에서 실행되며, 일반적으로 접근되고 이미 최적화된 코드 시퀀스를 주 메모리에 저장된 128MB 캐시에 저장한다." 덴버는 매우 넓은 인오더 슈퍼스칼라 파이프라인이다. 이 설계는 다른 SIP 코어(예: GPU, 디스플레이 컨트롤러, DSP, 이미지 프로세서 등)와 통합되어 하나의 다이에 시스템 온 칩(SoC)을 구성하는 데 적합하다.
프로젝트 덴버는 모바일 컴퓨터, 개인용 컴퓨터, 서버, 그리고 슈퍼컴퓨터를 대상으로 한다. 해당 코어는 엔비디아의 테그라 SoC 시리즈에 통합되었다. 초기 덴버 코어는 28 nm 공정 노드(테그라 모델 T132, 일명 "테그라 K1")용으로 설계되었다. 덴버 2는 더 작고 효율적인 16 nm 노드용으로 제작된 개선된 디자인이다. (테그라 모델 T186, 일명 "테그라 X2").
프로젝트 덴버
2018년, 엔비디아는 ARMv8 (64비트; 변형: ARM-v8.2 (10방향 슈퍼스칼라, 기능 안전성, 이중 실행, 패리티 및 ECC 포함)에 기반한 개선된 디자인(코드명: "카멜")을 테그라 자비에르 SoC에 통합하여 총 8개의 코어(또는 4개의 듀얼 코어 쌍)를 제공한다. 카멜 CPU 코어는 완전한 Advanced SIMD (ARM NEON), VFP (Vector Floating Point) 및 ARMv8.2-FP16을 지원한다. 카멜 코어가 통합된 젯슨 AGX 개발 키트의 첫 번째 외부 전문가 테스트는 2018년 9월에 이루어졌으며, 테스트 설정의 일반적인 속도와 특히 관련된 모든 의심에도 불구하고 이전 시스템에 비해 현저히 향상된 성능을 보여주었다. 카멜 디자인은 12nm 구조 크기로 설계된 테그라 모델 T194 ("테그라 자비에르")에서 찾을 수 있다.
프로젝트 덴버 칩
멀티 코어 덴버 CPU는 케플러 기반 GPU 솔루션과 결합되어 테그라 K1을 형성했다. 듀얼 코어 2.3 GHz 덴버 기반 K1은 2014년 11월 3일 출시된 HTC 넥서스 9 태블릿에 처음 사용되었다. 그러나 쿼드 코어 테그라 K1은 동일한 이름을 사용하더라도 덴버 기반이 아니다.
엔비디아 테그라 X2는 두 개의 덴버2 (ARMv8 64비트) 코어와 네 개의 A57 (ARMv8 64비트) 코어를 일관된 HMP(이종 멀티프로세서 아키텍처) 방식으로 사용한다. 이는 파커 GPU와 장치를 짝짓는다.
테그라 자비에르는 엔비디아 볼타 GPU와 여러 특수 목적 가속기를 카멜 디자인의 8개 CPU 코어와 짝지어 사용한다. 이 디자인에서 4개의 카멜 ASIC 매크로 블록(각각 2개의 코어 포함)은 하나의 크로스바와 4 MiB의 L3 메모리와 서로 연결된다.
프로젝트 덴버 역사
프로젝트 덴버의 존재는 2011년 소비자 가전 전시회에서 공개되었다. 2011년 3월 4일 Q&A 기사에서 젠슨 황 CEO는 프로젝트 덴버가 수백 명의 엔지니어들이 이미 3년 반 동안 작업한 5년짜리 64비트 ARMv8-A CPU 개발이며 32비트 ARM 명령어 집합 (ARMv7) 하위 호환성도 갖추고 있다고 밝혔다. 프로젝트 덴버는 트랜스메타의 프로젝트와 유사하게 이진 변환을 사용하는 X86 호환 프로세서로 스테이사 회사(콜로라도)에서 시작되었다. 스테이사는 2006년 엔비디아에 인수되었다.
톰스 하드웨어에 따르면, 덴버 팀에는 인텔, AMD, HP, 썬 및 트랜스메타의 엔지니어들이 있으며, 이들은 비순차적 실행, 초장 명령어어 (VLIW), 동시 멀티스레딩 (SMT)을 갖춘 슈퍼스칼라 CPU 설계에 대한 광범위한 경험을 가지고 있다.
프로젝트 덴버 역사
찰리 데머지안에 따르면, 프로젝트 덴버 CPU는 CPU 내부의 펌웨어를 사용하여 ARM 명령어를 내부 명령어 집합으로 변환할 수 있다. 또한 데머지안에 따르면, 프로젝트 덴버는 원래 트랜스메타의 코드 모핑 기술을 사용하여 ARM 및 X86 코드를 모두 지원할 예정이었지만, 엔비디아가 인텔의 특허 라이센스를 얻지 못했기 때문에 ARMv8-A 64비트 명령어 집합으로 변경되었다.
덴버 CPU 코어를 탑재한 최초의 소비자 기기인 구글의 넥서스 9은 2014년 10월 15일에 발표되었다. 이 태블릿은 HTC에서 제조되었으며 듀얼 코어 테그라 K1 SoC를 특징으로 한다. 넥서스 9는 소비자에게 제공된 최초의 64비트 안드로이드 기기였다.
엔비디아 테슬라 퍼스널 슈퍼컴퓨터
엔비디아 테슬라 퍼스널 슈퍼컴퓨터(Nvidia Tesla Personal Supercomputer)는 엔비디아가 지원하고 여러 하드웨어 공급업체가 제작하는 데스크톱 컴퓨터 (개인용 슈퍼컴퓨터)이다. 엔비디아의 테슬라 GPGPU 브랜드의 기능을 시연하기 위한 것으로, 엔비디아의 CUDA 병렬 컴퓨팅 아키텍처를 활용하며 GPGPU당 최대 2688개의 병렬 처리 코어로 구동된다. 이는 엔비디아에 따르면 표준 PC보다 최대 250배 빠른 속도를 달성할 수 있게 한다.
VDPAU
VDPAU(Video Decode and Presentation API for Unix, 유닉스용 비디오 디코드 및 프레젠테이션 API)는 사용료 없는 애플리케이션 프로그래밍 인터페이스(API)이자 MIT 허가서에 따라 배포되는 자유-오픈 소스 라이브러리(libvdpau)로서 구현된 것이다. VDPAU는 엔비디아에서도 지원한다.
VDPAU 인터페이스는 엔비디아 지포스 드라이버, 누보 또는 amdgpu와 같은 장치 드라이버에 의해 구현되어야 하며, VLC 미디어 플레이어 또는 GStreamer와 같은 최종 사용자 소프트웨어에 엔비디아의 퓨어비디오 또는 AMD의 통합 비디오 디코더와 같은 그래픽 처리 장치(GPU)의 ASIC 블록 형태의 사용 가능한 비디오 압축 해제 가속 하드웨어에 대한 표준화된 접근을 제공하고 이를 활용할 수 있도록 한다.
VDPAU는 유닉스 계열 운영체제(리눅스, FreeBSD, 솔라리스 포함)를 대상으로 한다.
VDPAU 인터페이스의 기능 범위
VDPAU를 통해 비디오 프로그램은 GPU의 특수 비디오 디코딩 ASIC에 접근하여 비디오 디코딩 프로세스의 일부와 비디오 후처리를 CPU에서 GPU로 오프로드할 수 있다.
현재 VDPAU에 의해 GPU로 오프로드될 수 있는 부분은 움직임 보상(mo comp), 이산 코사인 변환(iDCT), VLD(가변 길이 디코딩) 및 MPEG-1, MPEG-2, MPEG-4 ASP (MPEG-4 파트 2), H.264/MPEG-4 AVC 및 VC-1, WMV3/WMV9 인코딩 비디오를 위한 디블록킹이다. GPU로 오프로드할 수 있는 특정 코덱은 GPU 하드웨어의 세대 버전에 따라 달라진다.
VDPAU 역사
VDPAU는 원래 엔비디아가 지포스 8 시리즈 및 이후 GPU에 탑재된 자사의 퓨어비디오 SIP 블록을 위해 설계했다.
2015년 3월 9일, 엔비디아는 메인, 메인 4:4:4, 메인 스틸 픽처, 메인 10, 메인 12 프로파일에 대한 고효율 비디오 코딩(HEVC) 디코딩을 지원하는 VDPAU 버전 1.0을 출시했다.
VDPAU VDPAU를 구현하는 장치 드라이버 및 비디오 컨트롤러
VDPAU는 X11 소프트웨어 장치 드라이버에 구현되지만, 하드웨어 GPU의 가속 기능에 의존한다.
드라이버가 VDPAU를 구현하는 모든 엔비디아 그래픽 카드는 엔비디아 퓨어비디오에 나열되어 있다.
S3 그래픽스는 크롬 400 비디오 카드의 리눅스 드라이버에 VDPAU를 추가했다. 리눅스 장치 드라이버 버전 14.02.17 현재, VDPAU는 S3 크롬 430 GT, S3 크롬 440 GTX, S3 크롬 530 GT 및 S3 크롬 540 GTX 하드웨어에서 사용할 수 있다.
ATI/AMD는 VDPAU 가속 기능을 갖춘 라데온 HD 4000+ 그래픽 카드용 오픈 소스 드라이버를 출시했다.
인텔은 VDPAU 드라이버를 제공하지 않고, 자사의 VA-API만 지원한다. 그러나 libvdpau-va-gl을 통해 인텔의 VA-API 드라이버를 사용할 수 있다.
VDPAU VDPAU를 구현하는 장치 드라이버 및 비디오 컨트롤러
엔비디아는 인텔 및 ATI용 하드웨어 특정 드라이버의 예시 이름(libvdpau_intel.so 및 libvdpau_ati.so)을 언급하며 다른 GPU 설계자들이 자신들의 제품을 오픈 소스 VDPAU 라이브러리와 호환되도록 하고 VDPAU 가속 기능이 있는 드라이버를 제공하기를 바란다. 인텔은 VDPAU를 고려 중이라고 밝혔다.
선시 SoC (올위너)는 실험적인 VDPAU 구현을 가지고 있다.
메사 v8.0부터는 Gallium3D를 활용하는 비디오 카드에 대한 VDPAU를 포함한다.
2013년 말부터는 OpenGL(그리기 및 스케일링용)과 VA-API(가능한 경우 디코딩용)를 사용하는 독립적으로 개발된 백엔드 드라이버가 있다. 이는 일부 인텔 그래픽스 및 어도비 플래시 플레이어에서 작동하는 것으로 보고되었다.
OpenGL 기능만을 이용한 가속 스케일링은 VDPAU를 사용할 수 없을 때 비가속 스케일링을 사용하는 플래시 플레이어 때문에 주로 필요하다. 리눅스나 FreeBSD에서 실행되는 거의 모든 다른 비디오 소프트웨어는 Xv를 지원한다. 이는 기본 VDPAU 지원이 없는 느린 컴퓨터에서 전체 화면 비디오에 필수적이다.
HW 디코딩을 위한 VDPAU 대 VA-API 변환은 최신 인텔 그래픽 하드웨어에 유용하다. 일부 소프트웨어는 VDPAU를 통해 HW 디코딩을 지원하지만 VA-API를 지원하지 않기 때문이다.
VDPAU VDPAU를 지원하는 소프트웨어
VDPAU는 VA-API 및 OpenMAX IL의 백엔드로도 사용될 수 있으며, 이들은 VDPAU 기능의 일부를 포함한다. 따라서 VA-API 또는 OpenMAX IL을 사용하는 모든 소프트웨어는 VDPAU를 부분적으로 사용할 수 있다(예: VLC 미디어 플레이어).
VDPAU 엔비디아 VDPAU 기능 세트
엔비디아 VDPAU 기능 세트는 (엔비디아 퓨어비디오) 하드웨어 디코딩 기능의 다양한 수준을 지원하는 GPU의 하드웨어 세대이다. 기능 세트 A, B, C의 경우 최대 비디오 너비와 높이는 2048 화소이며, 최소 너비와 높이는 48화소이고, 모든 코덱은 현재 최대 8192 매크로블록(VC-1/WMV9의 경우 8190)으로 제한된다.
부분 가속은 VLD(비트스트림) 디코딩이 CPU에서 수행되고, GPU는 IDCT, 움직임 보상 및 디블록킹만 수행함을 의미한다. 완전 가속은 GPU가 VLD, IDCT, 움직임 보상 및 디블록킹을 모두 수행함을 의미한다.
기능 세트 A
H.264에 대한 완전 가속 및 MPEG-1, MPEG-2, VC-1/WMV9에 대한 부분 가속을 지원한다.
기능 세트 B
MPEG-1, MPEG-2, VC-1/WMV9 및 H.264에 대한 완전 가속을 지원한다.
모든 기능 세트 B 하드웨어는 다음 너비의 H.264를 디코딩할 수 없다: 769-784, 849-864, 929-944, 1009-1024, 1793-1808, 1873-1888, 1953-1968, 2033-2048 화소.
VDPAU 엔비디아 VDPAU 기능 세트
기능 세트 C
MPEG-1, MPEG-2, MPEG-4 파트 2(일명 MPEG-4 ASP), VC-1/WMV9 및 H.264에 대한 완전 가속을 지원한다.
전역 움직임 보상 및 데이터 분할은 MPEG-4 파트 2에 대해 지원되지 않는다.
기능 세트 D
기능 세트 C와 유사하지만 최대 4032 x 4080 해상도의 H.264 디코딩과 최대 4032 x 4048 해상도의 MPEG-1/MPEG-2 디코딩을 추가로 지원한다.
기능 세트 E
기능 세트 D와 유사하지만 최대 4096 x 4096 해상도의 H.264 디코딩과 최대 4080 x 4080 해상도의 MPEG-1/MPEG-2 디코딩을 추가로 지원한다. VDPAU 기능 세트 E를 사용하는 GPU는 손상된 비디오 스트림을 디코딩할 때 더 강력한 오류 처리를 제공하는 향상된 오류 은폐 모드를 지원한다.
VDPAU 엔비디아 VDPAU 기능 세트
기능 세트 F
최대 4096 × 2304 화소 해상도의 HEVC 메인 (8비트), 메인 10 (10비트) 및 VP9 프로필 0 (8비트) 비디오 디코딩 전용이 도입되었다.
기능 세트 G
HEVC 메인 12 (12비트) 및 VP9 프로필 2 (12비트) 비디오 디코딩에 대한 하드웨어 지원이 추가되었다.
기능 세트 H
기능 세트 H는 8192x8192 (8K 해상도) H.265/HEVC 비디오 스트림의 하드웨어 가속 디코딩이 가능하다.
기능 세트 I
기능 세트 H와 유사하다.
기능 세트 J
기능 세트 J는 HEVC 444 디코드 지원을 추가한다.
기능 세트 K
기능 세트 K는 8192x8192 (8K 해상도) AV1 MAIN 프로필 비디오 스트림의 하드웨어 가속 디코딩이 가능하다.
VDPAU libvdpau 독립형 VDPAU 라이브러리
libvdpau 독립형 VDPAU 라이브러리는 엔비디아의 독점 리눅스 그래픽 드라이버와 독립적으로 엔비디아가 배포한다. 이는 엔비디아 외부에서 VDPAU 채택을 돕기 위한 노력의 일환이다. 이 오픈 소스 라이브러리 패키지에는 다른 제조업체가 장치 드라이버에 VDPAU를 구현할 수 있도록 하는 래퍼 라이브러리와 디버깅 라이브러리가 포함되어 있다.
누보 (소프트웨어)
누보(nouveau, /nuːˈvoʊ/)는 엔비디아 그래픽 카드 및 테그라 계열의 시스템 온 칩을 위한 자유-오픈 소스 그래픽 장치 드라이버로, 엔비디아 직원들의 약간의 도움을 받아 독립적인 소프트웨어 엔지니어들이 작성하였다.
이 프로젝트의 목표는 엔비디아의 독점 리눅스 드라이버를 역공학하여 오픈 소스 드라이버를 만드는 것이다. X.Org 재단에서 관리하며, Freedesktop.org에서 호스팅하고, 메사 3D의 일부로 배포된다. 이 프로젝트는 처음에는 2D 전용의 자유-오픈 소스 "nv" 드라이버를 기반으로 했으며, 레드햇 개발자인 매튜 개럿 등이 난독화되었다고 주장했다. 누보는 MIT 허가서에 따라 라이선스되었다.
프로젝트의 이름은 프랑스어로 '새로운'을 의미하는 'nouveau'에서 유래했다. 원래 작성자인 스테판 마르셰신(Stéphane Marchesin)이 자신의 IRC 클라이언트의 프랑스어 자동 교정 시스템이 'nv'라는 글자에 대해 'nouveau'라는 단어를 제안한 후 이를 제안했다.
누보 (소프트웨어) 소프트웨어 아키텍처
누보는 Gallium3D 스타일의 장치 드라이버이며 다이렉트 렌더링 인프라스트럭처 (DRI) 상에서 작동한다. 두 가지 커널 구성 요소인 DRM & KMS 드라이버와 사용자 공간 구성 요소인 libDRM 및 메사 3D로 구성된다.
누보는 모든 엔비디아 마이크로아키텍처를 지원할 예정이다: 버전 1.0.13에서는 테슬라, 페르미, 케플러, 맥스웰, 파스칼을 지원하고, 버전 1.0.15에서는 볼타를 지원한다. 버전 1.0.16에서는 튜링 지원이 추가되었다.
기술적인 이유로 엔비디아 GPU는 모두 낮은 주파수("클럭"이라고 함)로 부팅된다. 장치 드라이버는 부팅 후 더 높은 주파수를 설정해야 한다. GPU 문서가 부족하여 누보는 처음부터 이 기능이 없었다. 그 결과 엔비디아 독점 장치 드라이버와 누보의 성능을 비교한 벤치마크에서 입증된 바와 같이 성능이 크게 저하되었다. 2014년 6월, 마침내 돌파구가 마련되었고 누보에 초기 재클럭킹 지원이 추가되었다. 버전 1.0.14에서는 파스칼 지원이 맥스웰 2 수준이다. 버전 1.0.15에는 4GB GTX 970용 패치와 파스칼의 맥스웰 2 수준 가속이 포함되어 있다.
누보 (소프트웨어) 소프트웨어 아키텍처
AMD와 달리 엔비디아는 GPU에 대한 문서를 제공하지 않는다. 누보 개발자들은 누보를 작성하는 데 필요한 데이터를 얻기 위해 클린룸 역공학을 사용할 수밖에 없었다. 이 프로젝트는 MmioTrace (메모리 맵 I/O 추적), REnouveau, Valgrind MMT와 같은 여러 맞춤형 프로그램을 역공학에 사용한다.
REnouveau(누보 리엔지니어링)는 GNU GPL ( SDL 사용)에 따라 라이선스된 프로그램으로, 누보의 리엔지니어링 작업 대부분에 필요한 데이터를 수집한다. 독점 엔비디아 드라이버를 사용하는 사용자들은 REnouveau를 통해 엔비디아 카드 하드웨어에 대한 정보를 제공하여 누보 개발에 기여할 수 있다. RE누보는 현재 그래픽 카드 MMIO 레지스터 공간을 복사하고, 일부 그래픽을 그린 다음 MMIO의 다른 복사본을 찍고, 그 차이를 텍스트 파일로 출력하는 방식으로 작동한다. 이 프로그램은 약 60가지의 다른 테스트를 실행하며, 사용자는 그 결과물을 tar.bz2 아카이브로 만들고 이메일로 제출하면, 프로젝트의 FTP 서버로 자동으로 전송되어 개발자들이 분석할 수 있게 된다.
현재 RE누보는 Valgrind-MMT로 대부분 대체되었다.
누보 (소프트웨어) 지원 인터페이스
커널만이 그래픽 카드를 포함한 하드웨어에 직접 접근할 수 있다. 최종 사용자 소프트웨어는 작업별로 특화된 다양한 인터페이스를 통해 접근한다. 누보는 Gallium3D 유형의 장치 드라이버로 작성되고 있는데, 이는 다른 Gallium3D 드라이버와 많은 양의 코드를 공유한다는 의미이다. 이 공유되는 핵심 부분은 대부분 메사 3D에서 메인라인으로 관리되며, 이후 다양한 리눅스 배포판에 의해 배포된다.
메사 3D 및 포함된 드라이버는 여러 렌더링 인터페이스를 지원하며, 이들 모두는 비디오 게임 또는 CAD 소프트웨어와 같은 사용자 공간 프로그램이 해당 SIP 블록에 접근할 수 있도록 설계되었다.
Direct3D 버전 9의 자유-오픈 소스 구현이 메사 3D에 메인라인으로 통합되었다. 이는 누보와 함께 사용할 수 있지만, Direct3D를 사용하는 모든 소프트웨어는 윈도우용으로 프로그래밍되었기 때문에, 이 소프트웨어는 와인과 함께 리눅스에서만 사용할 수 있다.
누보 (소프트웨어) 지원 인터페이스
OpenGL 렌더링 인터페이스는 크로노스 그룹에서 개발하고 있다. 이 API의 구현은 엔비디아의 드라이버와 AMD의 독점 "카탈리스트"에 포함되어 있다. 또 다른 구현은 브라이언 폴이나 인텔과 같은 자유 소프트웨어 애호가들이 작성하고 메사 3D에서 조율하고 있다. 누보는 Gallium3D 유형의 드라이버이므로 이 구현과 함께 작동하기 위해 사소한 조정만 필요하다.
2023년 12월 기준, 누보는 실험적인 NVK 드라이버를 통해 일부 Vulkan API를 지원한다.
메사 3D는 여러 인터페이스를 지원하며, 이들 모두는 GStreamer 또는 HandBrake와 같은 사용자 공간 프로그램이 해당 SIP 블록에 접근할 수 있도록 설계되었다. 렌더링 계산을 위해 설계된 IC를 이 목적으로 사용하는 것도 가능하지만, 이 방법은 퓨어비디오 SIP 블록을 활용하는 것보다 훨씬 더 많은 전력을 소모한다.
누보 (소프트웨어) 지원 인터페이스
누보는 퓨어비디오를 지원하며 VDPAU를 통해, 그리고 부분적으로 XvMC를 통해 접근을 제공한다.
누보는 엔비디아 NVENC를 지원하지 않는다.
메사 갈륨컴퓨트(GalliumCompute)는 엔비디아를 위한 주요 프로젝트이기도 하지만, AMD 부분만 OpenCL 1.0, 1.1, 1.2의 베타 버전에 가깝다.
누보는 CUDA를 지원하지 않는다.
코리앤더(Coriander) 프로젝트를 통해 CUDA 코드를 OpenCL 1.2로 변환할 수 있다.
2006년경 엔비디아는 FALCON(FAst Logic CONtroller)을 GPU에 도입했다.
2016년 7월 제4차 RISC-V 워크숍에서 엔비디아 직원들은 FALCON을 RISC-V 명령어 세트 기반의 새로운 독점 커스텀 디자인으로 대체할 계획을 발표했다.
누보 (소프트웨어) 역사
누보는 2005년 스테판 마르셰신(Stéphane Marchesin)이 "nv" 드라이버에 대한 일련의 패치로 시작했으며, 2006년 2월 FOSDEM 행사에서 공식적으로 발표되었다. nouveau의 첫 라이브 데모는 Linux.conf.au 2007에서 진행되었다. 2010년 누보는 리눅스 커널 2.6.33 버전에 실험적 드라이버로 채택되었다. 2012년 3월 26일, nouveau 드라이버는 안정적인 것으로 표시되었고 리눅스 3.4의 스테이징 영역에서 승격되었다. 누보는 리눅스 3.7에서 주요 내부 아키텍처 개편을 겪었다.
누보는 원래 3D 컴퓨터 그래픽스 렌더링을 위해 메사 3D의 다이렉트 렌더링 인프라스트럭처 (DRI)를 사용했는데, 이는 3D 애플리케이션에서 직접 GPU를 사용하여 3D 드로잉을 가속화할 수 있게 한다. 그러나 2008년 2월, DRI 지원 작업이 중단되고 새로운 Gallium3D로 넘어갔다.
2013년 9월 23일, 엔비디아는 nouveau와 함께 엔비디아 GPU의 즉시 사용성(out-of-the-box usability)에 영향을 미치는 영역을 다루기 위해 GPU에 대한 일부 문서를 공개할 것이라고 발표했다.
누보 (소프트웨어) 역사
2014년 1월 31일, 엔비디아의 알렉상드르 쿠르보(Alexandre Courbot)는 nouveau에 GK20A (테그라 K1)에 대한 초기 지원을 추가하는 광범위한 패치 세트를 커밋했다.
2016년 7월 9일, 레드햇 직원 벤 스케그스(Ben Skeggs)는 GeForce GTX 1070 및 GeForce GTX 1080 브랜드 그래픽 카드에서 발견되는 파스칼 기반 GP104 칩에 대한 지원을 리눅스 커널에 추가하는 패치를 커밋했다.
2016년 현재 상태 및 향후 작업은 XDC2016에서 소개되었다. OpenCL의 새로운 노력 현황은 FOSDEM에서 공개되었다.
2019년 엔비디아는 케플러, 맥스웰, 파스칼, 볼타 칩셋에 대한 일부 문서를 공개했다. 2024년, 수석 엔지니어 벤 스케그스(Ben Skeggs)는 오픈 소스 드라이버 작업을 계속하기 위해 엔비디아에 고용되었다.
누보 (소프트웨어) 채택
nouveau 드라이버와 메사의 3D 드라이버는 페도라 11, 오픈수세 11.3, 우분투 10.04, 그리고 데비안을 포함한 많은 리눅스 배포판에서 엔비디아 카드용 기본 오픈 소스 드라이버로 사용되었다.
컴피즈는 2010년에 엔비디아 독점 드라이버보다 nouveau를 추천했다.
2014년 6월, 코드씽크(Codethink)는 리눅스 커널 3.15를 사용하여 웨이랜드 기반 웨스턴 컴포지터를 실행했으며, EGL과 "100% 오픈 소스 그래픽 드라이버 스택"을 테그라 K1에서 활용했다고 보고했다.
2016년 10월, NetBSD는 NetBSD 7에 실험적인 nouveau 지원을 추가했다.
엔비디아 CUDA 컴파일러
엔비디아 CUDA 컴파일러(Nvidia CUDA Compiler, NVCC)는 엔비디아가 CUDA와 함께 사용하기 위해 개발한 컴파일러이다. 이는 사유 소프트웨어이다.
엔비디아 CUDA 컴파일러 컴파일러
CUDA 코드는 중앙 처리 장치 (CPU)와 그래픽 처리 장치 (GPU) 모두에서 실행된다. NVCC는 이 두 부분을 분리하여 호스트 코드(CPU에서 실행될 코드 부분)를 C 컴파일러(예: GNU 컴파일러 모음 (GCC) 또는 인텔 C++ 컴파일러 (ICC) 또는 마이크로소프트 비주얼 C++ 컴파일러)로 보내고, 장치 코드(GPU에서 실행될 부분)는 GPU로 보낸다. 장치 코드는 NVCC에 의해 추가로 컴파일된다. NVCC는 LLVM을 기반으로 한다. 엔비디아가 제공한 문서에 따르면, 버전 7.0의 nvcc는 C++11 표준에서 정의된 많은 언어 구성을 지원하며, C99의 일부 구성을 지원한다. 버전 9.0에서는 C++14 표준의 더 많은 구성이 추가되었다.
엔비디아 CUDA 컴파일러 컴파일러
CUDA 언어 확장(.cu)을 포함하는 모든 소스 파일은 nvcc로 컴파일해야 한다. NVCC는 cudacc, g++, cl 등 필요한 모든 도구와 컴파일러를 호출하여 작동하는 컴파일러 드라이버이다. NVCC는 C 코드(CPU 코드)를 출력할 수 있으며, 이 코드는 다른 도구를 사용하여 애플리케이션의 나머지 부분과 함께 컴파일되거나, Parallel Thread Execution (PTX) 또는 객체 코드를 직접 출력할 수 있다. CUDA 코드가 포함된 실행 파일은 CUDA 코어 라이브러리 (cuda)와 CUDA 런타임 라이브러리 (cudart)가 필요하다.
널리 사용되는 다른 라이브러리:
엔비디아 옴니버스
엔비디아 옴니버스(Nvidia Omniverse)는 엔비디아가 만든 실시간 3D 그래픽 협업 플랫폼이다. 이 플랫폼은 시각 효과 및 "디지털 트윈" 산업 시뮬레이션 분야에서 사용되고 있다. 옴니버스는 Universal Scene Description (USD) 형식을 광범위하게 사용한다.
옴니버스
옴니버스(omniverse)는 아래 뜻을 함의한다.
옴니버스 영화
벤 10: 옴니버스: 벤 10 시리즈의 일부
옴니버스: 마크 그룬월드의 1970년대 팬 잡지
엔비디아 옴니버스: 그래픽스 협업 플랫폼
다중 우주론
OptiX
OptiX는 2009년경 처음 개발된 광선 추적 API이다. 계산은 CUDA와 함께 도입된 저수준 또는 고수준 API를 통해 GPU로 오프로드된다. CUDA는 엔비디아의 그래픽 제품에서만 사용할 수 있다. 엔비디아 OptiX는 엔비디아 게임웍스의 일부이다. OptiX는 고수준 또는 "알고리즘 중심" API로, 광선 추적 자체만이 아니라 광선 추적이 포함된 전체 알고리즘을 캡슐화하도록 설계되었다. 이는 OptiX 엔진이 애플리케이션 측 변경 없이 더 큰 알고리즘을 매우 유연하게 실행할 수 있도록 하기 위함이다.
일반적으로 비디오 게임은 렌더링에 광선 추적 대신 래스터화를 사용한다.
엔비디아에 따르면, OptiX는 "절차적 정의 및 하이브리드 렌더링 방식"에 충분히 유연하도록 설계되었다. 컴퓨터 그래픽스 렌더링 외에도 OptiX는 광학 및 음향 설계, 방사선 및 전자기파 연구, 인공지능 쿼리 및 충돌 분석에도 도움이 된다.
OptiX OptiX를 사용한 광선 추적
OptiX는 사용자가 제공한 지침(CUDA 커널 형식)을 사용하여 특정 상황에서 광선이 완전한 추적 프로세스를 시뮬레이션하기 위해 무엇을 해야 하는지 작동한다.
광선(또는 다른 종류의 광선)은 다른 표면이 아닌 특정 표면에 부딪힐 때 다른 동작을 할 수 있으며, OptiX는 사용자 제공 프로그램으로 이러한 히트 조건을 사용자 지정할 수 있도록 한다. 이 프로그램은 CUDA C 또는 직접 PTX 코드로 작성되며 OptiX 엔진에서 사용할 때 함께 연결된다.
OptiX를 사용하려면 시스템에 CUDA 지원 GPU가 있어야 하며 CUDA 툴킷이 설치되어 있어야 한다.
광선 추적 애플리케이션에서 OptiX 엔진을 사용하는 것은 일반적으로 다음 단계를 포함한다.
광선 생성 프로그램(예: 광선은 평행하게, 원근법 방식으로 또는 기울기 필드처럼 발사될 수 있다), 광선 누락(광선이 어떤 객체와도 교차하지 않을 때), 선택적 예외 프로그램(어떤 이유로 광선이 발사될 수 없을 때), 경계 상자 프로그램(주어진 객체에 대한 경계 상자 교차 테스트를 제공하는 프로그램) 및 교차 프로그램에 대한 프로그램 정의.