Apple M1에서 march= native가 작동하지 않는 이유는 무엇입니까?
C++ 프로그램을 컴파일하려고 할 때마다march=native
M1 칩이 탑재된 맥북에서 clang을 사용할 때 다음과 같은 오류가 발생합니다.
clang: error: the clang compiler does not support '-march=native'
그런데 예전에는 인텔 CPU를 탑재한 구형 맥북에서 작동했습니다. clan은 이 아키텍처를 지원하지 않습니까?
clang --version
다음을 제공:
Apple clang version 12.0.0 (clang-1200.0.32.29)
Target: arm64-apple-darwin20.2.0
Apple clang 버전 13.0.0에서는-mcpu=apple-m1
를 사용할 수 있습니다.
$ clang --print-supported-cpus
Apple clang version 12.0.5 (clang-1205.0.22.9)
Target: arm64-apple-darwin20.5.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
Available CPUs for this target:
a64fx
apple-a10
apple-a11
apple-a12
apple-a13
apple-a14
apple-a7
apple-a8
apple-a9
apple-latest
apple-s4
apple-s5
carmel
cortex-a34
cortex-a35
cortex-a53
cortex-a55
cortex-a57
cortex-a65
cortex-a65ae
cortex-a72
cortex-a73
cortex-a75
cortex-a76
cortex-a76ae
cortex-a77
cortex-a78
cortex-x1
cyclone
exynos-m3
exynos-m4
exynos-m5
falkor
generic
kryo
lightning
neoverse-e1
neoverse-n1
saphira
thunderx
thunderx2t99
thunderx3t110
thunderxt81
thunderxt83
thunderxt88
tsv110
vortex
-mcpu=apple-a14
M1이 제일 좋을 것 같아요.
15번방에서.-march=native
이제 Apple M1용으로 존재합니다(개인적으로 사용합니다).
내가 알기론 이건 아닙니다.Apple M1
구체적으로, 그것은 또한 다양한 다른 아키텍처(mostly를 들어 다양한 다른 암 프로세서)에 대한 clang과 함께 발생합니다. 예를 들어, 이 버그 보고서를 여기서 보세요 https://github.com/DMOJ/judge-server/issues/303 .
기본적으로 새로운 아키텍처에 대한 모든 클랑의 빌드는 컴파일러가 빌드되는 대상에 대해 "march= native"에 대한 기본값을 제공하도록 선택해야 합니다. 그렇지 않은 경우 이 오류 메시지가 나타납니다.최적화 대상이 있는 암 프로세서의 경우에도 종종 "-march" 대신 "-mcpu=xxx"를 사용해야 합니다.
예를 들어 당신이 사용할 아이폰의 경우-mcpu=apple-a11
-mcpu=apple-a12
기타.
그러나 아직 그러한 목표가 실행되지 않았습니다.Apple M1
또 다른 해결책은 브루와 함께 하는 업데이트 클랑입니다.
lang: error: clang 컴파일러가 '-march= native'를 지원하지 않습니다.
1° - llvm 콘브루 설치
brew install llvm
2° - 클랑 버전 점검
cd /opt/homebrew/opt/llvm
.clang --version
결과:
Homebrew clang version 15.0.6
Target: arm64-apple-darwin22.2.0
Thread model: posix
InstalledDir: /opt/homebrew/opt/llvm/bin
3° - 새 버전으로 경로를 수정합니다(예: .zshrc에 추가).
export PATH="/opt/homebrew/opt/llvm/bin:$PATH"
언급URL : https://stackoverflow.com/questions/65966969/why-does-march-native-not-work-on-apple-m1
'programing' 카테고리의 다른 글
Android: strings.xml의 html (0) | 2023.10.11 |
---|---|
클릭한 요소의 클래스를 가져오는 방법은 무엇입니까? (0) | 2023.10.11 |
WP 테마를 사용자 지정할 때 navbar를 \"태그 앞에 배치해야 합니까? 뒤에 배치해야 합니까? (0) | 2023.10.11 |
HTML 요소에 대한 브라우저의 기본 CSS (0) | 2023.10.11 |
ip-address를 대상으로 하는 Powershell 원격화 (0) | 2023.10.11 |