mirror of
				https://github.com/ggml-org/llama.cpp.git
				synced 2025-10-30 08:42:00 +00:00 
			
		
		
		
	build : support ppc64le build for make and CMake (#3963)
* build: support ppc64le build for make and CMake * build: keep __POWER9_VECTOR__ ifdef and extend with __powerpc64__ Co-authored-by: Georgi Gerganov <ggerganov@gmail.com> --------- Co-authored-by: Georgi Gerganov <ggerganov@gmail.com>
This commit is contained in:
		| @@ -574,8 +574,12 @@ elseif (${CMAKE_SYSTEM_PROCESSOR} MATCHES "^(x86_64|i686|AMD64)$" OR "${CMAKE_GE | ||||
|     endif() | ||||
| elseif (${CMAKE_SYSTEM_PROCESSOR} MATCHES "ppc64") | ||||
|     message(STATUS "PowerPC detected") | ||||
|     add_compile_options(-mcpu=native -mtune=native) | ||||
|     #TODO: Add  targets for Power8/Power9 (Altivec/VSX) and Power10(MMA) and query for big endian systems (ppc64/le/be) | ||||
|     if (${CMAKE_SYSTEM_PROCESSOR} MATCHES "ppc64le") | ||||
|         add_compile_options(-mcpu=powerpc64le) | ||||
|     else() | ||||
|         add_compile_options(-mcpu=native -mtune=native) | ||||
|         #TODO: Add  targets for Power8/Power9 (Altivec/VSX) and Power10(MMA) and query for big endian systems (ppc64/le/be) | ||||
|     endif() | ||||
| else() | ||||
|     message(STATUS "Unknown architecture") | ||||
| endif() | ||||
|   | ||||
							
								
								
									
										8
									
								
								Makefile
									
									
									
									
									
								
							
							
						
						
									
										8
									
								
								Makefile
									
									
									
									
									
								
							| @@ -342,6 +342,12 @@ ifneq ($(filter ppc64%,$(UNAME_M)),) | ||||
| 	endif | ||||
| endif | ||||
|  | ||||
| ifneq ($(filter ppc64le%,$(UNAME_M)),) | ||||
| 	MK_CFLAGS   += -mcpu=powerpc64le | ||||
| 	MK_CXXFLAGS += -mcpu=powerpc64le | ||||
| 	CUDA_POWER_ARCH = 1 | ||||
| endif | ||||
|  | ||||
| else | ||||
| 	MK_CFLAGS   += -march=rv64gcv -mabi=lp64d | ||||
| 	MK_CXXFLAGS += -march=rv64gcv -mabi=lp64d | ||||
| @@ -392,6 +398,8 @@ else | ||||
| endif #LLAMA_CUDA_NVCC | ||||
| ifdef CUDA_DOCKER_ARCH | ||||
| 	NVCCFLAGS += -Wno-deprecated-gpu-targets -arch=$(CUDA_DOCKER_ARCH) | ||||
| else ifdef CUDA_POWER_ARCH | ||||
| 	NVCCFLAGS += | ||||
| else | ||||
| 	NVCCFLAGS += -arch=native | ||||
| endif # CUDA_DOCKER_ARCH | ||||
|   | ||||
| @@ -19,7 +19,7 @@ | ||||
| #ifdef __wasm_simd128__ | ||||
| #include <wasm_simd128.h> | ||||
| #else | ||||
| #ifdef __POWER9_VECTOR__ | ||||
| #if defined(__POWER9_VECTOR__) || defined(__powerpc64__) | ||||
| #include <altivec.h> | ||||
| #undef bool | ||||
| #define bool _Bool | ||||
|   | ||||
		Reference in New Issue
	
	Block a user
	 Roger Meier
					Roger Meier