@@ -1574,3 +1574,308 @@ jobs:
15741574 run : |
15751575 GG_BUILD_KLEIDIAI=1 GG_BUILD_EXTRA_TESTS_0=1 bash ./ci/run.sh ./tmp/results ./tmp/mnt
15761576
1577+ debian-cpu-cmake-rv64-native :
1578+
1579+ runs-on : RISCV64
1580+
1581+ steps :
1582+ - name : Clone
1583+ id : checkout
1584+ uses : actions/checkout@v4
1585+
1586+ - name : Setup ccache
1587+ run : |
1588+ mkdir -p $HOME/.ccache $HOME/ccache_debug
1589+ ccache -M 5G -d $HOME/.ccache
1590+ export CCACHE_LOGFILE=/home/runneruser/ccache_debug/ccache.log
1591+ export CCACHE_DEBUGDIR="/home/runneruser/ccache_debug"
1592+ echo "$GITHUB_WORKSPACE"
1593+ echo "CCACHE_LOGFILE=$CCACHE_LOGFILE" >> $GITHUB_ENV
1594+ echo "CCACHE_DEBUGDIR=$CCACHE_DEBUGDIR" >> $GITHUB_ENV
1595+ echo "CCACHE_BASEDIR=$GITHUB_WORKSPACE" >> $GITHUB_ENV
1596+ echo "CCACHE_DIR=$HOME/.ccache" >> $GITHUB_ENV
1597+ - name : Dependencies
1598+ id : depends
1599+ run : |
1600+ sudo apt-get update
1601+ sudo apt-get install -y build-essential libcurl4-openssl-dev wget
1602+
1603+ - name : Build
1604+ id : cmake_build
1605+ run : |
1606+ cmake -B build \
1607+ -DLLAMA_CURL=OFF \
1608+ -DCMAKE_BUILD_TYPE=Release \
1609+ -DGGML_OPENMP=OFF \
1610+ -DLLAMA_BUILD_EXAMPLES=ON \
1611+ -DLLAMA_BUILD_TOOLS=ON \
1612+ -DLLAMA_BUILD_TESTS=OFF \
1613+ -DCMAKE_SYSTEM_NAME=Linux \
1614+ -DCMAKE_SYSTEM_PROCESSOR=riscv64 \
1615+ -DCMAKE_C_COMPILER=riscv64-linux-gnu-gcc-14 \
1616+ -DCMAKE_CXX_COMPILER=riscv64-linux-gnu-g++-14 \
1617+ -DCMAKE_C_COMPILER_LAUNCHER=ccache \
1618+ -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
1619+ -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
1620+ -DCMAKE_FIND_ROOT_PATH=/usr/lib/riscv64-linux-gnu \
1621+ -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER \
1622+ -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \
1623+ -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=BOTH \
1624+ -DGGML_RPC=ON
1625+ # -DLLAMA_FATAL_WARNINGS=ON # Turned off due to compiler warnings being treated as errors on RISC-V
1626+
1627+ cmake --build build --config Release -j $(nproc)
1628+
1629+ - name : Test
1630+ id : cmake_test
1631+ run : |
1632+ cd build
1633+ ctest -L 'main|curl' --verbose --timeout 900
1634+
1635+ - name : Test llama2c conversion
1636+ id : llama2c_test
1637+ run : |
1638+ cd build
1639+ echo "Fetch tokenizer"
1640+ wget https://huggingface.co/karpathy/tinyllamas/resolve/main/stories260K/tok512.bin
1641+ echo "Fetch llama2c model"
1642+ wget https://huggingface.co/karpathy/tinyllamas/resolve/main/stories260K/stories260K.bin
1643+ ./bin/llama-convert-llama2c-to-ggml --copy-vocab-from-model ./tok512.bin --llama2c-model stories260K.bin --llama2c-output-model stories260K.gguf
1644+ ./bin/llama-cli -m stories260K.gguf -p "One day, Lily met a Shoggoth" -n 500 -c 256
1645+
1646+ debian-trixie-cmake-sanitizer-riscv64-native :
1647+ runs-on : RISCV64
1648+
1649+ continue-on-error : true
1650+
1651+ strategy :
1652+ matrix :
1653+ sanitizer : [ADDRESS, THREAD, UNDEFINED]
1654+ build_type : [Debug]
1655+
1656+ steps :
1657+ - name : Clone
1658+ id : checkout
1659+ uses : actions/checkout@v4
1660+
1661+ - name : Setup ccache
1662+ run : |
1663+ mkdir -p $HOME/.ccache $HOME/ccache_debug
1664+ ccache -M 5G -d $HOME/.ccache
1665+ export CCACHE_LOGFILE=/home/runneruser/ccache_debug/ccache.log
1666+ export CCACHE_DEBUGDIR="/home/runneruser/ccache_debug"
1667+ echo "$GITHUB_WORKSPACE"
1668+ echo "CCACHE_LOGFILE=$CCACHE_LOGFILE" >> $GITHUB_ENV
1669+ echo "CCACHE_DEBUGDIR=$CCACHE_DEBUGDIR" >> $GITHUB_ENV
1670+ echo "CCACHE_BASEDIR=$GITHUB_WORKSPACE" >> $GITHUB_ENV
1671+ echo "CCACHE_DIR=$HOME/.ccache" >> $GITHUB_ENV
1672+
1673+ - name : Dependencies
1674+ id : depends
1675+ run : |
1676+ sudo apt-get update
1677+ sudo apt-get install build-essential libcurl4-openssl-dev
1678+
1679+ - name : Build
1680+ id : cmake_build
1681+ if : ${{ matrix.sanitizer != 'THREAD' }}
1682+ run : |
1683+ cmake -B build \
1684+ -DLLAMA_CURL=OFF \
1685+ -DCMAKE_BUILD_TYPE=Release \
1686+ -DGGML_OPENMP=OFF \
1687+ -DLLAMA_BUILD_EXAMPLES=ON \
1688+ -DLLAMA_BUILD_TOOLS=ON \
1689+ -DLLAMA_BUILD_TESTS=OFF \
1690+ -DCMAKE_SYSTEM_NAME=Linux \
1691+ -DCMAKE_SYSTEM_PROCESSOR=riscv64 \
1692+ -DCMAKE_C_COMPILER=riscv64-linux-gnu-gcc-14 \
1693+ -DCMAKE_CXX_COMPILER=riscv64-linux-gnu-g++-14 \
1694+ -DCMAKE_C_COMPILER_LAUNCHER=ccache \
1695+ -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
1696+ -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
1697+ -DCMAKE_FIND_ROOT_PATH=/usr/lib/riscv64-linux-gnu \
1698+ -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER \
1699+ -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \
1700+ -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=BOTH \
1701+ \#-DLLAMA_FATAL_WARNINGS=ON \
1702+ -DLLAMA_SANITIZE_${{ matrix.sanitizer }}=ON \
1703+ -DCMAKE_BUILD_TYPE=${{ matrix.build_type }}
1704+ cmake --build build --config ${{ matrix.build_type }} -j $(nproc)
1705+
1706+ - name : Build (no OpenMP)
1707+ id : cmake_build_no_openmp
1708+ if : ${{ matrix.sanitizer == 'THREAD' }}
1709+ run : |
1710+ cmake -B build \
1711+ -DLLAMA_CURL=OFF \
1712+ -DCMAKE_BUILD_TYPE=Release \
1713+ -DGGML_OPENMP=OFF \
1714+ -DLLAMA_BUILD_EXAMPLES=ON \
1715+ -DLLAMA_BUILD_TOOLS=ON \
1716+ -DLLAMA_BUILD_TESTS=OFF \
1717+ -DCMAKE_SYSTEM_NAME=Linux \
1718+ -DCMAKE_SYSTEM_PROCESSOR=riscv64 \
1719+ -DCMAKE_C_COMPILER=riscv64-linux-gnu-gcc-14 \
1720+ -DCMAKE_CXX_COMPILER=riscv64-linux-gnu-g++-14 \
1721+ -DCMAKE_C_COMPILER_LAUNCHER=ccache \
1722+ -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
1723+ -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
1724+ -DCMAKE_FIND_ROOT_PATH=/usr/lib/riscv64-linux-gnu \
1725+ -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER \
1726+ -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \
1727+ -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=BOTH \
1728+ \#-DLLAMA_FATAL_WARNINGS=ON \
1729+ -DLLAMA_SANITIZE_${{ matrix.sanitizer }}=ON \
1730+ -DCMAKE_BUILD_TYPE=${{ matrix.build_type }} \
1731+ -DGGML_OPENMP=OFF
1732+ cmake --build build --config ${{ matrix.build_type }} -j $(nproc)
1733+
1734+ - name : Test
1735+ id : cmake_test
1736+ run : |
1737+ cd build
1738+ ctest -L main --verbose --timeout 900
1739+
1740+
1741+ debian-trixie-llguidance-riscv64-native :
1742+ runs-on : RISCV64
1743+
1744+ steps :
1745+ - name : Clone
1746+ id : checkout
1747+ uses : actions/checkout@v4
1748+
1749+ - name : Dependencies
1750+ id : depends
1751+ run : |
1752+ sudo apt-get update
1753+ sudo apt-get install -y build-essential libcurl4-openssl-dev rustup python3-pip
1754+
1755+ - name : Build
1756+ id : cmake_build
1757+ run : |
1758+ mkdir build
1759+ cd build
1760+ cmake .. \
1761+ -DLLAMA_CURL=OFF \
1762+ -DCMAKE_BUILD_TYPE=Release \
1763+ -DGGML_OPENMP=OFF \
1764+ -DLLAMA_BUILD_EXAMPLES=ON \
1765+ -DLLAMA_BUILD_TOOLS=ON \
1766+ -DLLAMA_BUILD_TESTS=OFF \
1767+ -DCMAKE_SYSTEM_NAME=Linux \
1768+ -DCMAKE_SYSTEM_PROCESSOR=riscv64 \
1769+ -DCMAKE_C_COMPILER=riscv64-linux-gnu-gcc-14 \
1770+ -DCMAKE_CXX_COMPILER=riscv64-linux-gnu-g++-14 \
1771+ -DCMAKE_C_COMPILER_LAUNCHER=ccache \
1772+ -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
1773+ -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
1774+ -DCMAKE_FIND_ROOT_PATH=/usr/lib/riscv64-linux-gnu \
1775+ -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER \
1776+ -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \
1777+ -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=BOTH \
1778+ \#-DLLAMA_FATAL_WARNINGS=ON \
1779+ -DLLAMA_LLGUIDANCE=ON
1780+ cmake --build . --config Release -j $(nproc)
1781+
1782+ - name : Test
1783+ id : cmake_test
1784+ run : |
1785+ cd build
1786+ ctest -L main --verbose --timeout 900
1787+
1788+
1789+
1790+ debian-trixie-cmake-rpc-riscv64-native :
1791+ runs-on : RISCV64
1792+
1793+ continue-on-error : true
1794+
1795+ steps :
1796+ - name : Clone
1797+ id : checkout
1798+ uses : actions/checkout@v4
1799+
1800+ - name : Setup ccache
1801+ run : |
1802+ mkdir -p $HOME/.ccache $HOME/ccache_debug
1803+ ccache -M 5G -d $HOME/.ccache
1804+ export CCACHE_LOGFILE=/home/runneruser/ccache_debug/ccache.log
1805+ export CCACHE_DEBUGDIR="/home/runneruser/ccache_debug"
1806+ echo "$GITHUB_WORKSPACE"
1807+ echo "CCACHE_LOGFILE=$CCACHE_LOGFILE" >> $GITHUB_ENV
1808+ echo "CCACHE_DEBUGDIR=$CCACHE_DEBUGDIR" >> $GITHUB_ENV
1809+ echo "CCACHE_BASEDIR=$GITHUB_WORKSPACE" >> $GITHUB_ENV
1810+ echo "CCACHE_DIR=$HOME/.ccache" >> $GITHUB_ENV
1811+
1812+ - name : Dependencies
1813+ id : depends
1814+ run : |
1815+ sudo apt-get update
1816+ sudo apt-get install build-essential libcurl4-openssl-dev
1817+
1818+ - name : Build
1819+ id : cmake_build
1820+ run : |
1821+ cmake -B build \
1822+ -DLLAMA_CURL=OFF \
1823+ -DCMAKE_BUILD_TYPE=Release \
1824+ -DGGML_OPENMP=OFF \
1825+ -DLLAMA_BUILD_EXAMPLES=ON \
1826+ -DLLAMA_BUILD_TOOLS=ON \
1827+ -DLLAMA_BUILD_TESTS=OFF \
1828+ -DCMAKE_SYSTEM_NAME=Linux \
1829+ -DCMAKE_SYSTEM_PROCESSOR=riscv64 \
1830+ -DCMAKE_C_COMPILER=riscv64-linux-gnu-gcc-14 \
1831+ -DCMAKE_CXX_COMPILER=riscv64-linux-gnu-g++-14 \
1832+ -DCMAKE_C_COMPILER_LAUNCHER=ccache \
1833+ -DCMAKE_CXX_COMPILER_LAUNCHER=ccache \
1834+ -DCMAKE_POSITION_INDEPENDENT_CODE=ON \
1835+ -DCMAKE_FIND_ROOT_PATH=/usr/lib/riscv64-linux-gnu \
1836+ -DCMAKE_FIND_ROOT_PATH_MODE_PROGRAM=NEVER \
1837+ -DCMAKE_FIND_ROOT_PATH_MODE_LIBRARY=ONLY \
1838+ -DCMAKE_FIND_ROOT_PATH_MODE_INCLUDE=BOTH \
1839+ -DGGML_RPC=ON
1840+ cmake --build build --config Release -j $(nproc)
1841+
1842+ - name : Test
1843+ id : cmake_test
1844+ run : |
1845+ cd build
1846+ ctest -L main --verbose
1847+ ggml-ci-riscv64-native-cpu-low-perf :
1848+ runs-on : RISCV64
1849+
1850+ steps :
1851+ - name : Install Dependencies
1852+ run : |
1853+ sudo apt-get update
1854+ sudo apt-get install -y git-lfs
1855+ - name : Clone
1856+ id : checkout
1857+ uses : actions/checkout@v4
1858+
1859+ - name : Setup ccache
1860+ run : |
1861+ mkdir -p $HOME/.ccache $HOME/ccache_debug
1862+ ccache -M 5G -d $HOME/.ccache
1863+ export CCACHE_LOGFILE=/home/runneruser/ccache_debug/ccache.log
1864+ export CCACHE_DEBUGDIR="/home/runneruser/ccache_debug"
1865+ echo "$GITHUB_WORKSPACE"
1866+ echo "CCACHE_LOGFILE=$CCACHE_LOGFILE" >> $GITHUB_ENV
1867+ echo "CCACHE_DEBUGDIR=$CCACHE_DEBUGDIR" >> $GITHUB_ENV
1868+ echo "CCACHE_BASEDIR=$GITHUB_WORKSPACE" >> $GITHUB_ENV
1869+ echo "CCACHE_DIR=$HOME/.ccache" >> $GITHUB_ENV
1870+
1871+ - name : Dependencies
1872+ id : depends
1873+ run : |
1874+ sudo apt-get update
1875+ sudo apt-get install build-essential libcurl4-openssl-dev
1876+
1877+ - name : Test
1878+ id : ggml-ci
1879+ run : |
1880+ git lfs install
1881+ LLAMA_ARG_THREADS=$(nproc) LLAMA_FATAL_WARNINGS=OFF GG_BUILD_LOW_PERF=1 bash ./ci/run.sh ./tmp/results ./tmp/mnt
0 commit comments