gcc에서 vectorize  옵션을 통해 빌드 하는데

-fopt-info-vec-all -O3 -mavx

 

메시지들 중에서 SLP 라는 용어 발견

note: ===vect_slp_analyze_bb===

note: Final SLP tree for instance:
note: Build SLP for varname = 900;
note: Build SLP failed: unrolling required in basic block SLP

note: vectorizing stmts using SLP.

 

gcc 메뉴얼에도 SLP 어쩌구는 나오는데 약어가 안나온다.

2011-10-23
  1. Vectorization of reduction in loop SLP. Both multiple reduction cycles and reduction chains are supported.
  2. Various basic block vectorization (SLP) improvements, such as better data dependence analysis, support of misaligned accesses and multiple types, cost model.

[링크 : https://gcc.gnu.org/projects/tree-ssa/vectorization.html#using]

 

Superword-Level Parallelism (SLP) vectorizer

[링크 : https://rcor.me/papers/cgo19snslp.pdf]

 

Superword level parallelism (SLP) is an advanced method of traditional vectorization that facilitates parallelism across loop iterations, SIMD, and basic blocks. Vectorization in this context is the process used to complete several similar tasks (or instructions) simultaneously, therefore saving processing time and resources.

[링크 : https://www.webopedia.com/definitions/superword-level-parallelism/]

'이론 관련 > 컴퓨터 관련' 카테고리의 다른 글

tlv  (0) 2022.10.19
DR - Disaster Recovery Plan  (0) 2022.10.17
digital twin  (0) 2022.04.13
current loop to rs232  (0) 2021.10.22
usb dwc  (0) 2021.09.23
Posted by 구차니
프로그램 사용/gcc2022. 6. 2. 14:47

아래 에러들은 SIMD 명령으로 변환하는데 실패한 녀석들인것 같은데

아래와 같은 유형들이 에러로 발생했다.

 

반복문이 중첩되거나, 반복문 내에서 조건문이 있으면 안되는 것 같고

tt.c:180:3: note: ===== analyze_loop_nest =====
tt.c:180:3: note: === vect_analyze_loop_form ===
tt.c:180:3: note: not vectorized: control flow in loop.
tt.c:180:3: note: bad loop form.


tt.c:61:3: note: ===== analyze_loop_nest =====
tt.c:61:3: note: === vect_analyze_loop_form ===
tt.c:61:3: note: not vectorized: multiple nested loops.
tt.c:61:3: note: bad loop form.

 

아래부터는 어떤 에러인지 감이 안오는 녀석들..

지원하지 않는 패턴

tt.c:83:7: note: Unsupported pattern.
tt.c:83:7: note: not vectorized: unsupported use in stmt.
tt.c:83:7: note: unexpected pattern.

 

지원되지 않는 데이터 타입. 코드를 보니 for문의 비교문에

함수 포인터를 통한 참조(->) 로 보려고 할때는 타입을 추적 못하는 듯?

tt.c:107:5: note: not vectorized: unsupported data-type
tt.c:107:5: note: can't determine vectorization factor.

 

no grouped store가 어떤건지 모르겠다.

val = data[];

out = data / 255;

이런식으로 단순화 가능한 코드인데 배열과 포인터로 배열 인자가 선형으로 분석될수 없기 때문에 그런걸지도?

tt.c:106:3: note: not vectorized: no grouped stores in basic block.
tt.c:106:3: note: ===vect_slp_analyze_bb===
tt.c:106:3: note: ===vect_slp_analyze_bb===
tt.c:108:32: note: === vect_analyze_data_refs ===
tt.c:108:32: note: not vectorized: not enough data-refs in basic block.

 

모르겠고..

tt.c:228:3: note: not vectorized: data ref analysis failed _47 = *_46;
tt.c:228:3: note: bad data references.

 

모르겠다!!!

tt.c:238:5: note: not vectorized: not suitable for gather load _47 = *_46;
tt.c:238:5: note: bad data references.

 

 

아무튼 AVX로도 변환이 안되는데 .. NEON으로 최적화 될만한 코드는 더더욱 아닐 것 같네.

'프로그램 사용 > gcc' 카테고리의 다른 글

gcc tree vectorize  (0) 2023.01.26
gcc fstack-protector-strong  (0) 2022.12.06
gcc / 문자열 선언  (0) 2022.03.17
static link  (0) 2022.02.07
구조체 타입과 변수명은 구분된다?  (0) 2021.11.18
Posted by 구차니

이전꺼가 12개월 부터 금액이 오르던 거라

16500원에서 2.2만 정도로 올라 바꾸기 시도!

 

이번에도 10GB/300분으로 했는데

KT는 솔찍히.. 와이파이 잘 안터져서 데이터 용량 더 키울까 하다가 3개월짜리라서(무제한 QoS) 포기

 

아무튼.. 9900원 8개월로 갈아타기 시도

 

 

근데 유심을 또 사자니 아까워서(월 천원 정도 드는 느낌이니..)

유심 초기화 방법이라는게 보여서 찾아보는중

 

유심 해당 대리점 방문해서 초기화 해달라고 하면 쓸수는 있다고.

조금 귀찮긴한데 시도해볼까?

[링크 : https://blog.naver.com/yipi1000/222436058258]

'개소리 왈왈 > 모바일 생활' 카테고리의 다른 글

아이패드 초기화 하기  (0) 2022.07.27
freeT SKT -> freeT KT 번호이동  (0) 2022.06.07
어라 요금제 폭탄?  (0) 2022.05.17
노트5 파.. 쇄?  (0) 2022.05.09
오늘의 지름  (0) 2022.04.06
Posted by 구차니

죽도록 즐기기 라는 책을 나중에 읽어 봐야겠다.

[링크 : https://jayjaeun.tistory.com/90]

 

요즘 정치관련 기사를 보고 있으면

접근성을 낮추기 위해 진지함과 무게감을 덜어내고

유머와 가벼움으로 승부하는 느낌인데

 

어려운 기술을 초등학생도 이해할 수 있도록 설명하는 것 처럼

어떤 의미로 쓸데없고 해서는 안될 짓을 하는건 아닐까? 라는 생각이 든다.

 

초등학생들에게 양자역학을 설명하는 것은 비유와 완벽하진 않지만 약간의 오류를 담은 설명을 통해

근접하게 이해시키는건 가능할진 모르지만

원래 쉽지 않은 원 개념 자체를 정상적으로 이해하지 않고 유사한 개념으로 비슷하게 이해했다고 하는 것은

학술적으로는 오히려 더 좋지 않고 위험한 것으로 볼텐데

 

그런 관점에서 정치 그리고 투표를 로또 처럼

내가 되어야 한다고 생각하는 사람에게 뽑는 것이 아닌

당선될 사람에게 베팅하고, 예측을 해서 뽑아내는 것으로 일종의 유희가 되어가는건 아닐까 걱정이 된다.

 

내가 그를지도 모른다는 두려움 속에

자신의 주관없이 당선 될 사람을 뽑는 것 만 같은 느낌이 드는건 왜일까..

Posted by 구차니

또 1년이 지났구나..

 

'개소리 왈왈 > 컴퓨터' 카테고리의 다른 글

무선우퍼 줍줍  (0) 2022.06.03
쓰레기를 주웠나...  (0) 2022.06.02
IE11 도 안녕  (0) 2022.05.25
맥 조금 써보고 나서 내린 결론  (0) 2022.05.15
별다방 마패 지름  (2) 2022.03.19
Posted by 구차니

첫애랑 둘이서 LED로 불들어 오는 배드민턴 공 사서 노니 좋아하네

잠안들줄 알고 조금 걱정했으나

집에 들어 오자마자 골아떨어져주니 감사! 

 

그나저나 2개 6천원이라니 ㅠㅠ

'개소리 왈왈 > 육아관련 주저리' 카테고리의 다른 글

어머니 생신  (0) 2022.06.25
일정 끝  (0) 2022.06.05
피곤  (0) 2022.05.26
어제는.기절  (0) 2022.05.21
야근  (0) 2022.05.19
Posted by 구차니

집에 도착하니 새벽 1시

씻고, 개 산책하고 나니 2시..

그런데 이 몸뚱아리는 7시 기상이라 또 눈이 떠진다 -_ㅠ

'개소리 왈왈 > 직딩의 비애' 카테고리의 다른 글

외근  (0) 2022.06.14
터널화재  (0) 2022.06.09
갑분 외근.. 철야?  (0) 2022.05.30
5월의 끝자락  (0) 2022.05.29
관악산 화재  (0) 2022.05.17
Posted by 구차니

으아아아아아아

새벽 3시 끝날걸 예상하는 나쁜 사람들 ㅠㅠㅠㅠ

'개소리 왈왈 > 직딩의 비애' 카테고리의 다른 글

터널화재  (0) 2022.06.09
피곤  (0) 2022.05.31
5월의 끝자락  (0) 2022.05.29
관악산 화재  (0) 2022.05.17
집에서 PLC 코드 분석  (0) 2022.05.14
Posted by 구차니

6월 1일 지방선거.

그런데 지방 선거 쉬는 날이었나? 학교도 쉰다고 하고..

 

먼가 정신없이 하던게 조금은 마무리 되어가는데

끝은 안나는것 같은건 왜일까? ㅠㅠ

'개소리 왈왈 > 직딩의 비애' 카테고리의 다른 글

피곤  (0) 2022.05.31
갑분 외근.. 철야?  (0) 2022.05.30
관악산 화재  (0) 2022.05.17
집에서 PLC 코드 분석  (0) 2022.05.14
보안 전시회  (0) 2022.04.20
Posted by 구차니
Apple2022. 5. 29. 00:03

산지 두세달 되었지만 정작 손에 잘 가지 않아서

기간 대비로는 가져논 시간이 얼마 되진 않지만 지금까지의 결론을 내리자면

 

"맥은 맥이지 리눅스가 아니다."

가 현재까지 결론이다.

 

gqrx 같은 qt/linux 어플리케이션 하려고  brew 로 몇시간에 걸쳐서 qt 부터 빌드해야 하는

패키지 의존성으로 인한 편의성과

POSIX / unix 계열로 작동은 하지만 그럼에도 불구하고 linux는 아니기에

 

맥은 맥으로서 맥용 어플리케이션을 만드는데 최적화 되어있지

맥이 리눅스는 아니니 어쩔수 없다면 어쩔수 없고 당연하다면 당연한 결과가 나왔다.

 

윈도우에서 리눅스 어플리케이션을 cygwin이나 wsl 등을 통해서 가능 하다고는 하지만

그럼에도 불구하고 리눅스에서 개발하는게 확실히 편리하고

 

리눅스에서 mono 등으로 c# 일부를 가능하다고 하고 전체 기능을 쓸 수 있는것도 아니고

libreoffice 등으로는 MS office 100% 호환되진 않으며

 

맥에서 MS office가 있어도 호환성 문제는 여전하기에

 

어떤 OS였던지 간에 한계나 제한은 존재하는건 여전한데

MacOSX가 unix에 가깝다고 하더라도(정확하게 초기는 bsd 기반이지만..)

패키지 의존성 측면에서 리눅스와는 접점이 거의 없다고 봐야하니

약간 뿌리가 비슷하다고 너무 큰 기대를 했던 듯 하다.

 

마이컴/리눅스 개발자로서 맥은 솔찍히 쓸모가 없다 정도..?

굳이 쓴다면 리눅스 콘솔 터미널 혹은 quartz를 설치해서 X11 + SSH 터미널 정도로 쓰거나

vscode 정도로 사용하는게 한계라고 봐야할 것 같다.

 

FPGA 툴들도 애플용은 없는 것 같고(vivado, quartus)

linux(x86, arm) 바이너리는 제공되어도 맥용은 제공이 안되는 경우도 있고

 

그냥.. 개인적인 의견으로는

웹개발 혹은 원격 개발 정도가 아니라면 극히 제한된 개발자에게 허락된 제품이라는 느낌

근데... 터미널로 쓸꺼면 싼것도 넘쳐나는데 굳이...?

 

 

 

요약

1. Mac is NOT linux

2. 리눅스 개발은 리눅스가 편하다. (패키지 의존성 등)

3. 개발툴도 맥용으로 잘 안나옴

4. 터미널로 쓸꺼면 왜 비싼돈 들여서 굳이?

'Apple' 카테고리의 다른 글

USB 이더넷 인식이 맥에서 안되네?  (0) 2022.06.18
개발자는 맥을 쓴다?  (14) 2022.06.08
.DS_Store 파일 생성 막기  (0) 2022.05.28
mac 창 분할 사용하기  (0) 2022.05.01
맥 멀티 모니터 설정  (0) 2022.05.01
Posted by 구차니