Parallel Computing Toolbox
멀티코어 컴퓨터, GPU 및 클러스터에서 병렬 연산 수행하기
Parallel Computing Toolbox™는 멀티코어 프로세서, GPU 및 컴퓨터 클러스터를 사용하여 연산 문제와 데이터 집약적인 문제를 해결할 수 있습니다. parallel for-loop, 특수 배열 유형 및 병렬형 수치 알고리즘과 같은 하이 레벨 구조를 사용하면 CUDA 또는 MPI 프로그래밍 없이 MATLAB® 응용 프로그램을 병렬 처리할 수 있습니다. 툴박스를 사용하면 MATLAB 및 기타 툴박스에서 병렬 가능 함수를 사용할 수 있습니다 . Simulink®와 함께 툴박스를 사용하여 모델의 여러 시뮬레이션을 병렬로 실행할 수 있습니다. 프로그램과 모델은 대화형 모드와 배치 모드에서 모두 실행할 수 있습니다.
이 툴박스를 통해 로컬로 실행되는 워커(MATLAB 연산 엔진)에서 응용 프로그램을 실행함으로써 멀티코어 데스크탑의 처리 능력을 최대한 활용할 수 있습니다. 코드를 변경하지 않고 클러스터 또는 클라우드에서 동일한 응용 프로그램을 실행할 수 있습니다(MATLAB Parallel Server™를 사용하여). MATLAB Parallel Server와 함께 툴박스를 사용하여 단일 컴퓨터의 메모리에 담을 수 없는 거대한 행렬 연산을 실행할 수도 있습니다.
시작하기:
멀티코어 컴퓨터로 MATLAB 속도 향상
파라미터 스윕, 최적화 및 Monte Carlo 시뮬레이션과 같은 문제에서 parallel for loop(parfor
)를 사용하여 멀티코어 CPU에서 독립적인 반복을 병렬로 실행합니다. Parfor는 병렬 풀 생성을 자동화하고 파일 종속성을 관리하므로 작업에 집중할 수 있습니다. 여러 MATLAB 및 Simulink 제품의 주요 함수는 병렬 가능 함수를 제공합니다. Parallel Computing Toolbox를 사용하면 이러한 함수를 통해 사용 가능한 병렬 컴퓨팅 리소스 간에 연산을 분산할 수 있습니다. 병렬 응용 프로그램을 대화형 및 배치로 실행할 수 있습니다.
GPU로 MATLAB 가속화
Parallel Computing Toolbox는 GPUArray
를 사용하여 MATLAB에서 직접 NVIDIA® GPU를 사용할 수 있습니다. 500개가 넘는 MATLAB 함수는 NVIDIA GPU에서 자동으로 실행됩니다. 여기에는 fft
, 요소별 연산 및 백슬래시 연산자(\)라고도 하는 lu
및 mldivide
와 같은 여러 선형 대수 연산이 포함됩니다. Deep Learning Toolbox와 같은 일부 MATLAB 및 Simulink 제품의 주요 함수에는 GPU 지원 함수가 있습니다. 추가로 코드를 작성하지 않고도 GPU를 사용할 수 있으므로 성능 조정보다는 응용 프로그램에 집중할 수 있습니다. 고급 개발자는 MATLAB에서 직접 CUDA 코드를 호출할 수 있습니다. 데스크탑, 컴퓨팅 클러스터 및 클라우드 환경에서 여러 GPU를 활용할 수 있습니다.
빅데이터 처리
Parallel Computing Toolbox는 성능 개선을 위해 로컬 워커에서 실행할 수 있도록 MATLAB에 내장된 tall
형 배열 및 mapreduce
기능을 확장합니다. 그런 다음 기존 클러스터 또는 Apache Spark™ 및 Hadoop® 클러스터의 MATLAB Parallel Server를 사용하여 tall
형 배열 및 mapreduce
를 추가 리소스까지 확장할 수 있습니다. 데스크탑에서 분산 배열을 프로토타입화한 다음 MATLAB 병렬 서버를 사용하여 추가 리소스까지 확장할 수도 있습니다.
병렬로 여러 시뮬레이션 실행하기
시뮬레이션을 병렬로 실행하려면 parsim
함수를 사용합니다. 이 함수는 여러 시뮬레이션을 멀티코어 CPU에 분산하여 전체 시뮬레이션 시간을 단축합니다. 또한, parsim
은 병렬 풀 생성을 자동화하고, 파일 종속성을 식별하며, 빌드 아티팩트를 관리하므로 설계 작업에 집중할 수 있습니다. 병렬 시뮬레이션을 대화형이나 배치로 실행할 수 있습니다.
시뮬레이션 관리자
시뮬레이션 관리자는 parsim
과 통합되어 하나의 창에서 여러 시뮬레이션을 모니터링하고 시각화하는 데 사용할 수 있습니다. 개별 시뮬레이션을 선택하여 사양을 볼 수 있을 뿐만 아니라 시뮬레이션 데이터 검사기를 사용하여 시뮬레이션 결과를 검사할 수 있습니다. 진단 작업을 편리하게 실행하거나 시뮬레이션을 중단할 수도 있습니다.
병렬 가능 Simulink 기능 활용하기
Simulink 시뮬레이션을 실행하기 위해 parsim
및 batchsim
함수를 사용하는 것 외에도 병렬 기능을 제공하는 Simulink Design Optimization™, Reinforcement Learning Toolbox™, Simulink Test™ 및 Simulink Coverage™ 등의 Simulink 제품이 많이 있습니다. 그래서 코드를 작성하지 않고도 시뮬레이션을 병렬로 실행할 수 있습니다.
퍼블릭 및 프라이빗 클라우드에서 MATLAB 데스크탑 실행하기
여러 주문형, 고성능 CPU 및 GPU 컴퓨터를 활용하여 분석과 시뮬레이션 속도를 높입니다. Amazon Web Services®(AWS) 환경 또는 Microsoft Azure®에서 가상 컴퓨터에 직접 MATLAB 및 Simulink를 실행합니다.
또한, NVIDIA GPU 클라우드 또는 NVIDIA DGX의 MATLAB Deep Learning Container에서 신경망을 학습하여 딥러닝 응용 프로그램의 속도를 높일 수 있습니다.
MATLAB 병렬 서버로 클러스터 크기 조정하기
데스크탑에서 프로토타입을 개발하고 다시 코딩하지 않고 컴퓨팅 클러스터나 클라우드로 확장합니다. 클러스터 프로파일 변경만으로 데스크탑에서 다양한 실행 환경으로 액세스합니다.
ThreadPool
gpuArray and Statistics & Machine Learning Toolbox 지원
코드 이식성을 지원하는 새로운 쿼리
클래스의 기본 데이터형을 쿼리하고 Parallel Computing Toolbox 기능을 지원
확장 향상된 기능
새롭고 향상된 gpuArray 함수, tall형 배열 기능 및 분산 배열 기능 사용
MATLAB Parallel Server를 사용하여 향상된 확장성
이제 MATLAB Job Scheduler가 4,000개의 worker를 지원합니다
HTCondor 지원
일반 스케줄러 인터페이스에 대해 사전 구성된 플러그인 스크립트 사용
AWS Batch 지원
일반 스케줄러 인터페이스에 대해 AWS Batch 참조 아키텍처 및 사전 구성된 플러그인 스크립트와 함께 MATLAB Parallel Server 사용
이 기능과 그에 상응하는 함수에 대한 세부 정보는 릴리스 정보를 참조하십시오.