mirror of
				https://github.com/ggml-org/llama.cpp.git
				synced 2025-11-03 09:22:01 +00:00 
			
		
		
		
	
				
					committed by
					
						
						GitHub
					
				
			
			
				
	
			
			
			
						parent
						
							d9a14523bb
						
					
				
				
					commit
					eba92d64c3
				
			@@ -287,17 +287,25 @@ function(ggml_add_cpu_backend_variant_impl tag_name)
 | 
			
		||||
                endif()
 | 
			
		||||
            endif()
 | 
			
		||||
        endif()
 | 
			
		||||
    elseif (${CMAKE_SYSTEM_PROCESSOR} MATCHES "ppc64")
 | 
			
		||||
    elseif ("${CMAKE_SYSTEM_PROCESSOR} " STREQUAL "ppc64le " OR "${CMAKE_SYSTEM_PROCESSOR} " STREQUAL "powerpc ")
 | 
			
		||||
        message(STATUS "PowerPC detected")
 | 
			
		||||
        execute_process(COMMAND bash -c "grep POWER /proc/cpuinfo | head -n 1" OUTPUT_VARIABLE POWER_M)
 | 
			
		||||
        if (${POWER_M} MATCHES "POWER10")
 | 
			
		||||
            list(APPEND ARCH_FLAGS -mcpu=power10)
 | 
			
		||||
        elseif (${POWER_M} MATCHES "POWER9")
 | 
			
		||||
            list(APPEND ARCH_FLAGS -mcpu=power9)
 | 
			
		||||
        if(${CMAKE_SYSTEM_PROCESSOR} MATCHES "ppc64")
 | 
			
		||||
            file(READ "/proc/cpuinfo" POWER10_M)
 | 
			
		||||
        elseif(${CMAKE_SYSTEM_PROCESSOR} MATCHES "powerpc")
 | 
			
		||||
            execute_process(COMMAND bash -c "prtconf |grep 'Implementation' | head -n 1" OUTPUT_VARIABLE POWER10_M)
 | 
			
		||||
        endif()
 | 
			
		||||
 | 
			
		||||
        string(REGEX MATCHALL "POWER *([0-9]+)" MATCHED_STRING "${POWER10_M}")
 | 
			
		||||
        string(REGEX REPLACE "POWER *([0-9]+)" "\\1" EXTRACTED_NUMBER "${MATCHED_STRING}")
 | 
			
		||||
 | 
			
		||||
        if (EXTRACTED_NUMBER GREATER_EQUAL 10)
 | 
			
		||||
            list(APPEND ARCH_FLAGS -mcpu=power10 -mpowerpc64)
 | 
			
		||||
        elseif (EXTRACTED_NUMBER EQUAL 9)
 | 
			
		||||
            list(APPEND ARCH_FLAGS -mcpu=power9 -mpowerpc64)
 | 
			
		||||
        elseif (${CMAKE_SYSTEM_PROCESSOR} MATCHES "ppc64le")
 | 
			
		||||
            list(APPEND ARCH_FLAGS -mcpu=powerpc64le -mtune=native)
 | 
			
		||||
        else()
 | 
			
		||||
            list(APPEND ARCH_FLAGS -mcpu=powerpc64 -mtune=native)
 | 
			
		||||
            list(APPEND ARCH_FLAGS -mcpu=native -mtune=native -mpowerpc64)
 | 
			
		||||
        endif()
 | 
			
		||||
    elseif (${CMAKE_SYSTEM_PROCESSOR} MATCHES "loongarch64")
 | 
			
		||||
        message(STATUS "loongarch64 detected")
 | 
			
		||||
 
 | 
			
		||||
		Reference in New Issue
	
	Block a user