이 페이지는 기계 번역을 사용하여 번역되었습니다. 영어 원문을 보려면 여기를 클릭하십시오.
타깃 하드웨어 확장 명령어 집합 활용
SIMD(단일 명령 복수 데이터) 코드를 생성하기 위한 명령어 집합
R2021b 이후
모델 구성 창: 코드 생성 / 최적화
설명
타깃 하드웨어 확장 명령어 집합 활용 파라미터는 타깃 하드웨어용 SIMD(단일 명령 복수 데이터) 코드를 생성하는 데 사용할 명령어 집합을 지정합니다.
종속성
이 파라미터를 사용하려면 장치 공급업체와 장치 유형을 이 테이블에 있는 값들의 조합으로 설정해야 합니다. 하드웨어 보드를 이 테이블에 나와 있는 장치 설정이 적용되는 보드로 설정하는 경우에도 이 파라미터를 사용할 수 있습니다. MATLAB Host Computer를 사용하면 컴퓨터에서 지원하는 명령어 집합만 선택할 수 있습니다.
| 장치 공급업체 | 장치 유형 |
|---|---|
Intel | x86-64 (Windows 64) |
x86-64 (Linux 64) | |
Apple | ARM 64 |
AMD | Athlon 64 |
ARM Compatible | ARM Cortex-A (32-bit) |
ARM Cortex-A (64-bit) | |
Generic | MATLAB Host Computer |
설정
SSE2 | SSE | SSE4.1 | AVX | AVX2 | FMA | AVX512F | Neon v7 | NoneIntel® 하드웨어용 GRT 기반 타깃에 대한 명령어 집합:
SSE2(기본값)None— SIMD 코드를 생성하지 않습니다.
Intel 하드웨어용 ERT 기반 타깃에 대한 명령어 집합:
SSE(기본값)SSE2SSE4.1AVXAVX2FMAAVX512FNone— SIMD 코드를 생성하지 않습니다.
Apple silicon 및 ARM® Cortex®-A 하드웨어용 ERT 기반 타깃에 대한 명령어 집합:
None(기본값) — SIMD 코드를 생성하지 않습니다.Neon v7
ERT 기반 타깃에 대한 명령어 집합 목록은 명령어 집합 간의 종속성을 보여주며, 각 명령어 집합은 그 앞에 오는 명령어 집합에 의존합니다. 코드 생성기는 선택된 명령어 집합과, 그 명령어 집합이 의존하는 명령어 집합들을 불러옵니다. 예를 들어, AVX를 선택하면 코드 생성기가 AVX, SSE4.1, SSE2, SSE를 불러옵니다. GRT 기반 타깃이나 ERT 기반 타깃에 대해 SSE2를 선택하면, 코드 생성기가 SSE2와 SSE를 불러옵니다.
권장 설정
| 응용 사례 | 설정 |
|---|---|
| 디버그 | 영향 없음 |
| 추적성 | 영향 없음 |
| 효율성 | 타깃 하드웨어에서 지원하는 명령어 집합(실행 속도) |
| 안전 예방 조치 | Intel 하드웨어의 경우:
Apple silicon 및 ARM Cortex-A 하드웨어의 경우:
|
프로그래밍 방식 사용
파라미터: InstructionSetExtensions |
| 유형: 문자형 벡터 |
값: 'None' | 'SSE' | 'SSE2' | 'SSE4.1' | 'AVX' | 'AVX2' | 'FMA' | 'AVX512F' | 'Neon v7' |
제한 사항
일부 사용자 지정 툴체인의 경우, 확장 명령어 집합을
None로 설정해야 합니다. 사용자 지정 툴체인이 SIMD 명령어 집합에 필요한 컴파일러 플래그를 생성하지 않을 경우 이러한 제한 사항이 발생하며, 이로 인해 코드가 컴파일되지 않게 됩니다.사용자 지정 툴체인은 내장 툴체인에서 파생되었거나, 해당 명령어 집합에 필요한 컴파일러 플래그를 기본적으로 삽입하는 경우 SIMD 명령어 집합을 지원할 수 있습니다.
DSP System Toolbox™의 일부 블록에서는 SIMD 코드를 생성하기 위해 최적화 수준 > 우선 순위를
RAM과 속도 간 균형 맞춤또는실행 속도 최대화로 설정해야 합니다.
버전 내역
R2021b에 개발됨