목표는 암시 적 인덱스 값을 기반으로 배열에 값을 조건부로 할당하는 것입니다. 인텔의 icc
컴파일러 버전 13.1.3 20130607
에서 Cilk Plus Array Notation을 사용합니다.Cilk Plus Array Notation을 사용하여`if` 블록 문 안에서`__sec_implicit_index`를 사용할 수 있습니까?
T test[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
if(test[:] < 5) {
test[:] = 10 - __sec_implicit_index(0);
}
이 코드는 잘 컴파일,하지만 난 그것을 실행하려고하면, 나는 다음과 같은 오류 얻을 :이처럼 보일 수도 있지만
undefined symbol: __sec_implicit_index
주을
다음 코드를 고려 다음 코드가 제대로 컴파일되고 실행될 때 (조건이 제거됨) :
이 연결 오류입니다.T test[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
test[:] = 10 - __sec_implicit_index(0);
그럼, 내 질문 : Cilk Plus Array Notation을 사용하여 아래 조건부 코드의 동작을 수행 할 수 있습니까?
T test[10] = {0, 1, 2, 3, 4, 5, 6, 7, 8, 9};
for(int i = 0; i < 10; i++) {
if(i < 5) {
test[i] = 10 - i;
}
}
고맙습니다. 또한'#pragma simd'에 대한 팁을 주셔서 감사합니다! 나는 이제 문서에서 그 부분을 생략하는 것을 기억하지만 완전히 잊어 버렸습니다. – naitsirhc