SSE Intrinsic(인트린직?,인트린식?)
찾아본 사이트를 정리한다
# 레퍼런스 사이트
# 슬라이드
실 사용 예가 잘나와 있다. |
# 예제
GCC에서 SSE? 어떻게 씀? |
SSE에서 벡터곱, 행렬곱 어떻게 함? |
SIMD 매뉴얼 같은 사이트의 예제 |
SSE 예제 2 |
SSE로 double사용 예제 |
__m128d 에서 double로 어떻게 변환하나 |
# 오류
리눅스 세그멘테이션 폴트시 에러 이전까지의 출력도 안나와서 |
GDB를 써야만 어디서 죽은지 알아서, r b c만 있어도 되겠던데 |
segmentation fault때문에 미칠것 같아서 ( 배열가리키는 포인터 문제라고 지적, 도움안됐다. ) |
역시 세그 폴트문제, 도움 안됐다. ( 세그폴트는 gdb gogo ) |
함수 파라미터 변수명하고, 함수 내 지역변수 이름이 겹치잖아요 |
# 기본 부족
printf 소수점 자리수 제한, 포맷 몰라서 (전체길이.소수점자리수f) |
간결 printf 예제 |
# 궁금증
ASSERT() 라는 건 도대체 뭐지
128비트 짜리 레지스터에서 double등으로 변환하는 캐스팅이
원래 C언어처럼 되지 않아서 어려웠다.
load, store를 많이 쓰게 했더니 SSE를 썼는데도 느려졌다.
SSE명령중 곱한다음 더하는 것 까지 하는 명령어가 있다고 들은 것 같은데
찾지를 못했다.
슬라이드 중 하나에서 inline 함수로 쉽게 사용하게 만드는 코드가 있었던 것 같은데
만약 다음에 쓸일이 있으면, 그걸 써야겠다.
# 알게된 점
128비트 짜리 레지스터에서 double등으로 변환하는 캐스팅이
원래 C언어처럼 되지 않아서 어려웠다.
load, store를 많이 쓰게 했더니 SSE를 썼는데도 느려졌다.
SSE명령중 곱한다음 더하는 것 까지 하는 명령어가 있다고 들은 것 같은데
찾지를 못했다.
슬라이드 중 하나에서 inline 함수로 쉽게 사용하게 만드는 코드가 있었던 것 같은데
만약 다음에 쓸일이 있으면, 그걸 써야겠다.
댓글 없음:
댓글 쓰기