상위 질문
타임라인
채팅
관점

자동 벡터화

위키백과, 무료 백과사전

Remove ads

병렬 컴퓨팅에서 자동 벡터화(Automatic vectorization)는 자동 병렬화의 특수한 경우로, 컴퓨터 프로그램이 한 번에 한 쌍의 피연산자를 처리하는 스칼라 구현에서 여러 쌍의 피연산자에 대한 하나의 연산을 한 번에 처리하는 벡터 구현으로 변환되는 것이다. 예를 들어, 특수 슈퍼컴퓨터를 포함한 최신 일반 컴퓨터는 일반적으로 다음 네 가지 덧셈(SIMD 또는 SPMD 하드웨어를 통해)과 같은 연산을 동시에 수행하는 벡터 연산을 사용한다.

하지만 대부분의 프로그래밍 언어는 일반적으로 여러 숫자를 순차적으로 덧셈하는 루프를 작성한다. 다음은 C로 작성된 이러한 루프의 예이다.

for (i = 0; i < n; i++)
    c[i] = a[i] + b[i];

벡터화 컴파일러는 이러한 루프를 일련의 벡터 연산으로 변환한다. 이러한 벡터 연산은 배열 a, b, c의 요소 블록에 덧셈을 수행한다. 자동 벡터화는 컴퓨터 과학의 주요 연구 주제이다.

Remove ads

같이 보기

외부 링크

Loading related searches...

Wikiwand - on

Seamless Wikipedia browsing. On steroids.

Remove ads