@@ -141,97 +141,6 @@ jobs:
141141
142142 # cmake --build build --config Release -j $(nproc)
143143
144- ubuntu-24-ppc64el-cpu-cross :
145- runs-on : ubuntu-24.04
146-
147- steps :
148- - uses : actions/checkout@v4
149- - name : Setup PowerPC64le
150- run : |
151- sudo dpkg --add-architecture ppc64el
152-
153- # Add arch-specific repositories for non-amd64 architectures
154- cat << EOF | sudo tee /etc/apt/sources.list.d/ppc64el-ports.list
155- deb [arch=ppc64el] http://ports.ubuntu.com/ubuntu-ports/ noble main universe
156- deb [arch=ppc64el] http://ports.ubuntu.com/ubuntu-ports/ noble-updates main universe
157- deb [arch=ppc64el] http://ports.ubuntu.com/ubuntu-ports/ noble-security main universe
158- deb [arch=ppc64el] http://ports.ubuntu.com/ubuntu-ports/ noble-backports main universe
159- EOF
160-
161- sudo apt-get update || true ;# Prevent failure due to missing URLs.
162-
163- sudo apt-get install -y --no-install-recommends \
164- build-essential \
165- gcc-14-powerpc64le-linux-gnu \
166- g++-14-powerpc64le-linux-gnu
167-
168- - name : Build
169- run : |
170- cmake -B build -DLLAMA_CURL=OFF \
171- -DCMAKE_BUILD_TYPE=Release \
172- -DGGML_OPENMP=OFF \
173- -DLLAMA_BUILD_EXAMPLES=ON \
174- -DLLAMA_BUILD_TOOLS=ON \
175- -DLLAMA_BUILD_TESTS=OFF \
176- -DCMAKE_SYSTEM_NAME=Linux \
177- -DCMAKE_SYSTEM_PROCESSOR=ppc64 \
178- -DCMAKE_C_COMPILER=powerpc64le-linux-gnu-gcc-14 \
179- -DCMAKE_CXX_COMPILER=powerpc64le-linux-gnu-g++-14 \
180- -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
181- -DCMAKE_FIND_ROOT_PATH=/usr/lib/powerpc64le-linux-gnu \
182- -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER \
183- -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \
184- -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=BOTH
185-
186- cmake --build build --config Release -j $(nproc)
187-
188- # ubuntu-24-ppc64el-vulkan-cross:
189- # runs-on: ubuntu-24.04
190-
191- # steps:
192- # - uses: actions/checkout@v4
193- # - name: Setup PowerPC64le
194- # run: |
195- # sudo dpkg --add-architecture ppc64el
196-
197- # # Add arch-specific repositories for non-amd64 architectures
198- # cat << EOF | sudo tee /etc/apt/sources.list.d/ppc64el-ports.list
199- # deb [arch=ppc64el] http://ports.ubuntu.com/ubuntu-ports/ noble main universe
200- # deb [arch=ppc64el] http://ports.ubuntu.com/ubuntu-ports/ noble-updates main universe
201- # deb [arch=ppc64el] http://ports.ubuntu.com/ubuntu-ports/ noble-security main universe
202- # deb [arch=ppc64el] http://ports.ubuntu.com/ubuntu-ports/ noble-backports main universe
203- # EOF
204-
205- # sudo apt-get update || true ;# Prevent failure due to missing URLs.
206-
207- # sudo apt-get install -y --no-install-recommends \
208- # build-essential \
209- # glslc \
210- # gcc-14-powerpc64le-linux-gnu \
211- # g++-14-powerpc64le-linux-gnu \
212- # libvulkan-dev:ppc64el
213-
214- # - name: Build
215- # run: |
216- # cmake -B build -DLLAMA_CURL=OFF \
217- # -DCMAKE_BUILD_TYPE=Release \
218- # -DGGML_VULKAN=ON \
219- # -DGGML_OPENMP=OFF \
220- # -DLLAMA_BUILD_EXAMPLES=ON \
221- # -DLLAMA_BUILD_TOOLS=ON \
222- # -DLLAMA_BUILD_TESTS=OFF \
223- # -DCMAKE_SYSTEM_NAME=Linux \
224- # -DCMAKE_SYSTEM_PROCESSOR=ppc64 \
225- # -DCMAKE_C_COMPILER=powerpc64le-linux-gnu-gcc-14 \
226- # -DCMAKE_CXX_COMPILER=powerpc64le-linux-gnu-g++-14 \
227- # -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
228- # -DCMAKE_FIND_ROOT_PATH=/usr/lib/powerpc64le-linux-gnu \
229- # -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER \
230- # -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \
231- # -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=BOTH
232-
233- # cmake --build build --config Release -j $(nproc)
234-
235144 debian-13-loongarch64-cpu-cross :
236145 runs-on : ubuntu-24.04
237146 container : debian@sha256:653dfb9f86c3782e8369d5f7d29bb8faba1f4bff9025db46e807fa4c22903671
@@ -344,3 +253,47 @@ jobs:
344253 -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=BOTH
345254
346255 cmake --build build --config Release -j $(nproc)
256+
257+ ubuntu-24-riscv64-cpu-spacemit-ime-cross :
258+ runs-on : ubuntu-24.04
259+
260+ env :
261+ SPACEMIT_IME_TOOLCHAIN_VERSION : " 1.1.2"
262+ SPACEMIT_IME_TOOLCHAIN_PATH : " spacemit-toolchain-linux-glibc-x86_64"
263+
264+ steps :
265+ - uses : actions/checkout@v4
266+
267+ - name : Cache Toolchain
268+ uses : actions/cache@v4
269+ id : cache-spacemit-ime-cross-toolchain
270+ with :
271+ path : ./${{ env.SPACEMIT_IME_TOOLCHAIN_PATH }}
272+ key : ${{ runner.os }}-spacemit-ime-toolchain-v${{ env.SPACEMIT_IME_TOOLCHAIN_VERSION }}
273+
274+ - name : Setup Toolchain
275+ if : steps.cache-spacemit-ime-cross-toolchain.outputs.cache-hit != 'true'
276+ run : |
277+ wget --quiet --no-check-certificate https://archive.spacemit.com/toolchain/spacemit-toolchain-linux-glibc-x86_64-v${{ env.SPACEMIT_IME_TOOLCHAIN_VERSION }}.tar.xz -O ${{ env.SPACEMIT_IME_TOOLCHAIN_PATH }}.tar.xz
278+ rm -rf ${{ env.SPACEMIT_IME_TOOLCHAIN_PATH }}
279+ mkdir -p ${{ env.SPACEMIT_IME_TOOLCHAIN_PATH }}
280+ tar xf ${{ env.SPACEMIT_IME_TOOLCHAIN_PATH }}.tar.xz -C ${{ env.SPACEMIT_IME_TOOLCHAIN_PATH }} --strip-components=1
281+ rm -rf ${{ env.SPACEMIT_IME_TOOLCHAIN_PATH }}.tar.xz
282+
283+ - name : Build
284+ run : |
285+ export RISCV_ROOT_PATH=${PWD}/${{ env.SPACEMIT_IME_TOOLCHAIN_PATH }}
286+ cmake -B build -DLLAMA_CURL=OFF \
287+ -DCMAKE_BUILD_TYPE=Release \
288+ -DGGML_OPENMP=OFF \
289+ -DLLAMA_BUILD_EXAMPLES=ON \
290+ -DLLAMA_BUILD_TOOLS=ON \
291+ -DLLAMA_BUILD_TESTS=OFF \
292+ -DGGML_CPU_RISCV64_SPACEMIT=ON \
293+ -DGGML_RVV=ON \
294+ -DGGML_RV_ZFH=ON \
295+ -DGGML_RV_ZICBOP=ON \
296+ -DRISCV64_SPACEMIT_IME_SPEC=RISCV64_SPACEMIT_IME1 \
297+ -DCMAKE_TOOLCHAIN_FILE=${PWD}/cmake/riscv64-spacemit-linux-gnu-gcc.cmake
298+
299+ cmake --build build --config Release -j $(nproc)
0 commit comments