구성 : Intel (R) Core (TM) i7-4702MQ CPU (Haswell 아키텍처 포함), Windows 8, Intel C++ Compiller XE 13.0. 내가 AVX2 최적화 내 프로그램을 실행하려면 넣어 컴파일 플래그 :어떻게 운영 체제가 avx2 명령어를 지원하는지 확인하십시오.
/QaxCORE-AVX2, /QxCORE-AVX2
하지만이 프로그램을 실행할 때 내가 얻을 오류 :
Fatal Error: This program was not built to run in your system. Please verify that both the operating system and the processor support Intel(R) AVX2, BMI, LZCNT, HLE, RTM, and FMA instructions.
내가 페이지에 기재되어 있습니다 AVX2 CPU 지원 테스트를 실행 : How to detect new instruction support in the 4th generation Intel Core processor family. 결과 :
This CPU supports ISA extensions introduced in Haswell.
어떻게 내 운영 시스템 지원 AVX2-확장 어떤 오류의 원인이 될 수 있음을 확인할 수 있습니까? avx2 확장을 사용하려면 /QaxCORE-AVX2
과 /QxCORE-AVX2
플래그를 모두 설정해야합니까?
UPD : 내가 플래그
프로그램이 성공적으로 시작되었습니다/QxAVX
을 설정합니다. 이 레지스터의 특정 세트에 지원을 확인하려면
아마도 XSAVE가 사용 중지되었습니다. 나는 그것을 가능하게하는 방법을 모르지만 아마도 부팅 구성 일 것이다. – Mysticial
@Mysticial IsProcessorFeaturePresent (PF_XSAVE_ENABLED) 함수를 사용하여 간단한 win32 프로젝트를 만듭니다. 이 함수는 True를 반환합니다. –
언제 확인합니까? 컴파일 시간에? 런타임시에? 어쨌든 이것은 시장 관련 문제와 더 비슷합니다. 예를 들어 2955U는 공식적으로 Haswell 아키텍처를 기반으로 한 Celeron이지만 AVX의 1 세대도 제공하지 않습니다. – user2485710