저는 SIMD
으로 새롭기 때문에 F32vec4
과 같은 벡터 클래스를 사용하여 병렬로 배열을 조작하는 방법을 이해하는 데 어려움이 있습니다.벡터 클래스를 사용하여 C++ 코드를 벡터화하는 방법
#include "fvec.h"
void add(float *a, float *b, float *c)
{
F32vec4 *av=(F32vec4 *) a;
F32vec4 *bv=(F32vec4 *) b;
F32vec4 *cv=(F32vec4 *) c;
*cv=*av + *bv;
}
그래서 HERE
av
, bv
에서 촬영하고, cv
는 F32vec4
그 시점 타입의 포인터 : 사람을 통해서 나를 걸을 수 있다면이 코드가 무엇을하고 있는지
나는 그것을 감사 정말 것 각각 a
, b
및 c
?
또한 cv
의 요소를 액세스하여 일반 부동 소수점 변수에 다시 저장할 수 있습니까?
정확한 질문은 무엇인지 잘 모르겠습니다. 'a','bv'와'cv'는'a'','b''와'c'를 가리키는 포인터입니다. 차이점은'a','b'와'c'는 배열에 대한 포인터입니다. 'av', 'bv'및 'cv'는 하나의 F32vec4가있는 배열에 대한 포인터입니다. – hayesti