​GPU 및 NI LabVIEW를 통한 테스트 시스템 하드웨어 가속

개요

​현대 테스트 시스템은 고처리량이 요구되며, GPU는 신호 처리, 이미지 분석, AI 추론 등 작업에 이상적인 강력한 병렬 처리 솔루션을 제공합니다. Ngene, Graiphic, G²CPU와 같은 타사 툴킷과 결합된 LabVIEW는 급격한 학습 곡선 없이 원활한 GPU 가속을 지원합니다.

 

​엔지니어는 RADX PXI Express(PXIe) 모듈, MXI Express(MXIe) 확장, 네트워크 GPU 서버를 활용해 GPU를 테스트 시스템에 통합하여 테스트 속도와 시스템 확장성을 크게 개선할 수 있습니다. 직관적인 도구와 유연한 배포 옵션으로 GPU 가속은 NI 플랫폼 내에서 접근 가능해져, 궁극적으로 더 빠르고 확장 가능하며 미래 지향적인 테스트 워크플로를 지원합니다.

내용

현대 테스트 시스템에서 하드웨어 가속이 필수적인 이유는 무엇입니까?

이 백서는 계산 집약적인 테스트 애플리케이션의 증가하는 요구를 처리하기 위한 하드웨어 가속기로서 GPU의 전략적 사용을 탐구합니다. 산업이 테스트 효율성을 높이기 위해 고처리량 처리를 의존함에 따라, 확장 가능한 고성능 컴퓨팅이 필수적이 되고 있습니다. 대규모 병렬 처리 능력과 수천 개의 코어를 갖춘 GPU는 기존 CPU에 비해 훨씬 유리하며, 이미지 및 신호 처리, 딥러닝 추론, 행렬 계산과 같은 작업에 적합합니다.

GPU를 NI LabVIEW와 통합하고 호환 가능한 하드웨어 및 툴킷을 사용함으로써, GPU 가속을 효과적으로 도입하고 기존 테스트 시스템에 원활하게 통합할 수 있습니다. 이 접근법은 엔지니어와 시스템 아키텍트가 워크플로우 내 하드웨어 가속을 극대화할 수 있는 직관적인 프레임워크를 제공합니다. 올바른 하드웨어 플랫폼을 선택하면 처리 속도 향상, 지연 시간 감소, 에너지 효율 개선 및 향후 애플리케이션을 위한 성능 확장과 같은 이점을 제공합니다.

 

테스트 및 측정 애플리케이션에서 GPU는 FPGA 및 CPU와 어떻게 다릅니까?

GPU는 탁월한 병렬 처리 능력 덕분에 신경망, 이미지 처리 및 시뮬레이션 작업에 뛰어납니다. 그러나 GPU 병렬 처리의 장점은 대규모 작업에서만 명확해지는데, GPU에 작업을 오프로드할 때 비용이 많이 드는 데이터 전송, 데이터 일관성을 위한 동기화, 커널 실행 지연이 발생하기 때문입니다. GPU는 데이터 양이 적고 계산 연산의 변동성이 큰 소규모 데이터 세트에는 적합하지 않습니다.

FPGA는 임베디드 시스템 및 실시간 신호 처리와 같은 결정론적 시스템에 이상적인 맞춤형 아키텍처를 제공합니다. 이들은 최적화된 처리 환경과 저전력 솔루션을 제공하여 전력 제약이 있는 AI 모델에 필수적입니다. 하지만 FPGA를 최적 성능으로 프로그래밍하는 데는 상당한 오버헤드가 수반됩니다.

범용 프로세서는 일반적으로 계산 코어 수가 적으며, 각 코어는 자체 제어 유닛을 갖추어 유연성과 제어 능력을 제공합니다. CPU는 GPU에 비해 제어 유닛에 더 중점을 두어 단일 코어 컨텍스트 스위칭을 가능하게 합니다.

NI 모듈러 플랫폼은 유연성과 복잡한 제어 논리를 위해 CPU를 사용하고, 결정론적 동작과 정밀한 제어를 위해 FPGA를 사용합니다. 그리고 이제 GPU를 추가하면 처리량 중심 가속의 세 번째 축이 생겼습니다. 

 

타사 툴킷을 활용한 LabVIEW 내 GPU 가속

LabVIEW는 다양한 애플리케이션을 위한 강력한 기본 기능과 다양한 내장 기능을 제공하며, 타사 툴킷을 통해 GPU 가속의 쉬운 통합을 지원합니다. 이 툴킷은 직관적이며 기본 LabVIEW와 유사하여 개발자의 학습 곡선을 낮춥니다. GPU 사용을 위한 특수 함수를 추가하여 사용자가 모든 컴포넌트를 직접 개발하지 않고도 GPU 성능을 활용할 수 있게 돕습니다. 이 섹션에서는 NI 생태계 내 GPU 가속을 지원하는 세 가지 주요 타사 툴킷을 기능과 고성능 기준을 충족하는 효과적인 아키텍처를 중심으로 소개합니다.

Ngene CuLab 툴킷

현대의 엔지니어링 및 과학 애플리케이션은 RF 신호 처리, 실시간 모니터링 및 분석, 과학 계산 및 모델링, 산업용 머신 비전과 같은 분야에서 상당한 계산 능력을 요구합니다. GPU의 병렬 처리 능력이 이러한 작업에 적합하지만, LabVIEW는 기본 GPU 가속 지원이 부족해 CUDA나 C++에 익숙하지 않은 엔지니어에게 어려움을 줍니다.

Ngene CuLab 툴킷은 LabVIEW와 직접 통합된 고성능 GPU 가속 솔루션을 제공해 이러한 격차를 해소합니다. LabVIEW와 유사한 API를 제공하여 엔지니어가 복잡한 코딩 없이 계산 속도를 높일 수 있도록 합니다. CuLab은 통합을 간소화하고 포괄적인 GPU 가속 기능을 제공하며, CuPy 같은 Python 프레임워크보다 평균 6배 빠른 뛰어난 성능을 보입니다.

CuLab이 제공하는 주요 혜택은 다음과 같습니다. LabVIEW 유사 API와 원활하게 통합되며, 기본 LabVIEW의 CPU 버전 대비 데이터 처리 작업에서 100배 이상의 성능 향상을 제공합니다1. 플랫폼에는 150개 이상의 GPU 가속 함수를 포함하여 다차원 배열 및 모든 숫자 데이터 타입을 효율적으로 처리합니다.

CuLab GPU 대 CPU 코드 블록 다이어그램

그림 1. 이 프로그램은 기본 LabVIEW와 CuLab 구현 간 유사성을 보여줍니다.

CuLab의 기능은 광범위하며 기본 LabVIEW와 매우 유사합니다. 전체 기능 목록에는 벡터 및 행렬 연산, 선형 대수, 신호 처리, 컴퓨터 비전, 수학 함수, 논리 연산 등이 포함됩니다.

그래픽 SOTA 툴킷

Graiphic의 LabVIEW용 SOTA 생태계는 PyTorch와 TensorFlow와 같은 딥러닝 프레임워크에 대한 대안으로 강화된 GPU 가속 기능을 제공합니다. LabVIEW를 범용 그래프 편집기 및 오케스트레이터로 전환하며 다양한 하드웨어에 대해 교육 및 연산을 처리할 수 있도록 ONNX 지원을 확장합니다. 상위 및 하위 수준 추상화를 제공하여 간단한 배포를 원하는 엔지니어와 자세한 제어가 필요한 연구자를 모두 지원하며, 다양한 딥러닝 수요를 충족합니다.

그래픽 가속기 팔레트

그림 2. 가속기 팔레트는 표준 LabVIEW 작업을 전부 포함하는 것을 목표로 합니다. 동적 오케스트레이션을 효과적으로 관리하며 다양한 실행 제공자를 지원하는 뛰어난 유연성을 제공합니다. 공개 참조는 여러 백엔드에서 노드 커버리지를 맵핑합니다.

 

SOTA는 Accelerator 툴킷으로 일반화된 포괄적 기능 세트를 통해 ONNX로 계산 그래프를 오케스트레이션하는 데 필요한 LabVIEW 함수 팔레트를 확장하여 기존 프레임워크와 경쟁합니다. 

SOTA 생태계의 주요 구성 요소로는 교육 및 추론용 딥러닝 툴킷, 이미지 처리를 위한 컴퓨터 비전 툴킷, 변환기 기반 모델용 GenAI 툴킷 및 앞서 언급한 Accelerator 툴킷이 포함됩니다. 이 환경의 툴킷은 컴퓨터 비전, 딥러닝, GenAI, 강화 학습 분야에서 뛰어나며, ONNX 통합을 통해 하드웨어 플랫폼 전반에 걸쳐 성능을 최적화합니다. 시각적 데이터 흐름 프로그래밍을 통해 프로그래밍 경험이 없는 사용자도 복잡한 워크플로를 생성할 수 있도록 AI 개발을 대중화합니다.

SOTA는 이종 하드웨어 전반에 걸쳐 데이터 라벨링, AI 모델 교육, 튜닝 및 배포를 최적화합니다.

Natan Biesmans LabVIEW G²CPU 고성능 컴퓨팅 툴킷

G²CPU는 LabVIEW용 고성능 컴퓨팅 툴킷을 제공하며, CPU, NVIDIA CUDA GPU, OpenCL 디바이스 및 NI 생태계 전반에서 플랫폼 독립적인 코드 실행을 지원합니다. 오픈 소스 ArrayFire 라이브러리를 기반으로 하여 장기적인 안정성을 위해 백엔드 전환을 단순화합니다.

주요 장점

  • 통합 백엔드 추상화—코드를 한 번 작성하면 수정 없이 CPU, CUDA, OpenCL 전반에 배포할 수 있어 유연성이 향상됩니다. 이 툴킷은 Windows 및 Linux 디바이스, LabVIEW Real-Time Module, PXI, 산업용 컴퓨터 등 NI 생태계 전반에서 사용할 수 있습니다.
  • 매끄러운 통합—함수들이 기본 LabVIEW 연산과 유사하여, 최소한의 학습만으로도 쉽게 통합할 수 있습니다. 디버깅은 LabVIEW 환경 내에서 직접 다양한 컴퓨팅 백엔드의 데이터를 검사할 수 있는 프로브를 통해 지원됩니다.
  • 높은 코드 유연성—기본 LabVIEW IDE 내에서 GPU에 가장 복잡한 알고리즘도 구현할 수 있습니다.
  • 고성능—집중 작업에서 최대 200배의 속도 향상2을 달성하며, NI PXI에서 GPU I/O 속도는 7GB/s, 최신 시스템에서는 22GB/s 이상입니다. 시간에 민감한 애플리케이션을 위해 NI LabVIEW Real-Time Module에서 1ms 미만 루프를 지원합니다. 

 

G²CPU로 작성된 선형 피팅 알고리즘

그림 3. 이 프로그램은 G²CPU로 완전히 작성된 선형 피팅 알고리즘을 보여줍니다. 기본 LabVIEW와의 유사성을 확인하십시오.

수학, 신호 처리, 머신 비전, UI 가속 등 다양한 작업을 위한 강력한 함수들을 포괄적으로 제공하는 소프트웨어 툴킷으로, 모든 유형의 GPU 및 운영 체제에서 사용할 수 있습니다. 고속 데이터 전송 기능을 제공하며, NI PXI 벡터 신호 트랜시버 (VST), NI FPGA 활성 하드웨어, NI 프레임 그래버 등과 원활하게 통합할 수 있습니다. 효율적인 제로-카피 데이터 전송 기술로 디바이스와 GPU 간 데이터를 교환하며, G²CPU는 사용자 정의 GPU 커널과 타사 툴킷을 통해 확장 가능하고 NVENC, LibTorch, OpenCV 등과도 원활히 통합됩니다. G²CPU는 모든 영역에서 독립적인 개발을 필요로 하며 탁월한 성능을 추구하는 개발자에게 이상적인 솔루션입니다.

GPU를 NI 하드웨어에 연결하기

이 섹션에서는 GPU 서버 연결과 PXI Express에서 MXI Express 구성 방식을 다룹니다.

GPU 서버에 대한 네트워크 연결

GPU 서버에 연결은 최적화된 네트워크 성능을 위한 고급 기능을 갖춘 네트워크 인터페이스 카드(NIC) 및 스마트 NIC를 통해 효율적으로 수행할 수 있습니다. 스마트 NIC는 CPU와 GPU 구성요소를 통합하여 까다로운 계산 및 병렬 처리 작업을 지원합니다. 네트워크 처리를 지능적으로 오프로드하여 오버헤드를 줄이고 GPU 서버로의 데이터 흐름 효율성을 개선합니다. 스마트 NIC는 네이워크 전반의 데이터 처리를 개선하여, 최대 25GB/s 대역폭으로 분산 컴퓨팅 애플리케이션을 지원하며, 네트워크로 연결된 GPU 자원의 효율적 활용을 돕습니다. NI CompactRIONI CompactDAQ 시스템 등 다른 NI 하드웨어도 이더넷 또는 USB 네트워크 연결을 사용해 GPU 서버 자원과 인터페이스하고 사용할 수 있습니다. 

외부 GPU 서버에 연결된 PXI 섀시

그림 4. PXI 섀시는 NIC 또는 스마트 NIC를 통해 고속 가속 컴퓨팅을 위해 외부 GPU 서버에 네트워크로 연결되어 있습니다.

PXI Express에서 MXI Express로

PXIe-to-MXIe 구성은 특히 고성능 컴퓨팅 분야에서 외부 GPU 기능이 필요한 설정에 적합합니다. PXIe 섀시를 MXIe 인터페이스에 연결하면 사용자는 강력한 외부 GPU에 접속하여 로컬 하드웨어 제약을 넘어선 계산 능력을 얻을 수 있습니다. 이 구성은 공간이 제한되거나 대규모 데이터 처리, AI 개발, 시뮬레이션 등의 작업을 위해 여러 시스템에서 다중 GPU가 필요한 경우에 이상적입니다. Gen 3 x16 MXIe 인터페이스는 16GB/s 데이터 전송 속도를 지원하여 병목 현상을 줄이고, 까다로운 애플리케이션이 외부 GPU 또는 GPU 서버 자원을 효율적으로 활용할 수 있게 합니다.

MXIe 확장을 통해 GPU 서버에 연결된 PXIe 섀시

그림 5. PXIe 섀시는 MXIe 확장을 통해 GPU 서버에 연결되어 고대역폭 데이터 전송이 가능하며, 가속 처리 및 고급 계산을 지원합니다.

RADX 및 NI 하드웨어 플랫폼

RADX Technologies Inc.는 NI 생태계용으로 설계되었지만 NI 제품과는 구분되는 상용 COTS PXI Express GPU 모듈을 제공합니다. NVIDIA Turing, Ampere, Ada GPU 기반 모듈은 NI PXIe-1092, NI PXIe-1095와 같은 PXI Express 섀시에 원활히 통합되어 테스트 및 측정 환경의 컴퓨팅 성능을 향상시킵니다. RADX PXIe GPU는 별도의 GPU 서버 없이 LabVIEW 및 Python과 같은 도구를 통해 데이터 획득 및 머신 러닝 등 다양한 애플리케이션을 지원합니다.

RADX Technologies의 섀시 내장 GPU는 4GB에서 24GB 메모리와 1.7에서 30.3의 FP32 TFLOPS를 제공합니다. 다만, Linux 사용을 제외하고는 GPU 간 피어 투 피어 통신 부족으로 데이터 병목 현상이 발생할 수 있습니다. 제로 카피와 같은 기술이 필요하며, 이를 통해 제약을 완화하고 GPU 기능을 최대한 활용하여 병목 현상을 줄일 수 있습니다. RADX GPU는 NI 시스템에 적합하며, 종종 G²CPU와 함께 GPU 가속 LabVIEW 신호 처리를 위해 사용됩니다.

RADX PXIe 호환 GPU 모듈

그림 6. RADX PXIe 호환 GPU 모듈 및 제품

요약 및 주요 시사점

결론적으로, GPU는 뛰어난 성능과 프로그래밍 용이성 덕분에 테스트 엔지니어들에게 빠른 테스트 수단으로 점점 더 많이 채택되고 있습니다. 엄청난 병렬 처리 능력과 확장 가능한 컴퓨팅 파워를 갖춘 GPU는 신호 처리, 이미지 처리, 시뮬레이션, 모델 기반 제어 등 데이터가 많은 애플리케이션에 이상적입니다. 하지만 데이터 요구량 때문에, GPU는 적절한 작업 흐름에 한해 틈새 시장에서 활용되고 있습니다.

PXI Express 지원 파트너 GPU와 LabVIEW 툴킷을 활용해 GPU 가속을 NI 에코시스템에 통합함으로써, 기존 워크플로우에 유연하고 고성능의 보완을 제공하여 테스트 엔지니어의 GPU 사용을 대중화합니다. 익숙한 환경 내 통합은 진입 장벽을 낮추고 더욱 빠른 프로토타이핑, 효율적인 데이터 처리 및 시스템 확장성을 가능하게 합니다.

GPU를 효과적으로 활용하는 방법을 이해하는 것은 테스트 및 측정 조직이 미래 지향적인 시스템을 설계하는 데 경쟁 우위를 제공합니다. GPU 성능 향상 인식, 적절한 도구 활용, 계산 집약적 작업 식별이 핵심 단계입니다.

1 CuLab(LabVIEW용 GPU 툴킷)이 RF RTSA 애플리케이션을 가속하는 모습을 보여주는 녹화된 데모를 시청하십시오.

2 자세한 정보는 g2cpu.com를 방문하십시오. 

 

애플리케이션 영역GPU가 탁월한 분야
RF 기록 및 재생/스펙트럼 분석실시간 멀티 기가헤르츠 FFT, 다위상 채널화, 스펙트로그램 렌더링
고속 비전/이미지 기반 검사합성곱 신경망(CNN)과 클래식 OpenCV 필터가 초당 수백 프레임을 처리합니다.
대량 웨이브폼 분석필터, 상관계수, 딥러닝 이상 탐지를 활용한 수백만 개 웨이브폼의 배치 처리

 

테이블 1 주요 애플리케이션 분야 작업에 GPU 성능 활용

특성CPUFPGAGPU​
적용 대상분기가 많은 순차 논리; OS 서비스, 소규모 AI/ML 작업(GFLOP 수백 개 범위)나노초 레벨 지연; 사용자 정의 I/O 프로토콜테라플롭/페타플롭 규모 병렬 수학; AI/ML 작업
타이밍 결정성10 μs~ms 수준 지터 (선점형 OS)사이클 정확 실행; 결정론적 하드웨어 수준 타이밍중간 수준 지터; 시작된 커널 내 결정론적 실행
개발 흐름C/C++, LabVIEW RT, PythonLabVIEW FPGA, VHDL/Verilog, HLSCUDA/HIP, LabVIEW GPU 툴킷, Python (Numba/CuPy)
재설정 비용없음높음 (합성, 타이밍 마감)낮음 (초 단위 커널 재컴파일)
테스트 및 측정에서의 일반적 사용시퀀싱, 호스트 UI, 데이터 로깅정확한 타이밍, 맞춤형 트리거, 인라인 필터링FFT, 스펙트로그램, 딥러닝 추론, 대규모 행렬 연산

 

표 2. 적절한 엔진 선택: CPU, GPU, 아니면 FPGA?