Simd — SIMD 벡터 타입
Simd — SIMD 벡터 타입
Simd는 [T; N]의 형태를 가지지만 T의 연산을 수행하는 SIMD 벡터 타입이에요. nightly 전용 실험 API(portable_simd, #86656)이에요.
출처: Rust 공식 문서
본문
pub struct Simd<T, const N: usize>(/* private fields */)
where
T: SimdElement;
Simd<T, N>은 T가 지원하는 연산자(+, * 등)를 "요소별(broadcasted)" 방식으로 지원해요. 즉 덧셈 등이 각 요소 단위로 적용돼요.
SIMD(Single Instruction, Multiple Data) 연산은 한 명령으로 여러 데이터를 동시에 처리하므로 성능 개선에 유용해요.
주요 메서드
pub const fn splat(value: T) -> Self
pub fn to_array(self) -> [T; N]
pub fn from_array(array: [T; N]) -> Self
pub fn cast<U>(self) -> Simd<U, N>