CANN: fix an issue where get_env was not fully renamed (#18796)
* CANN: fix an issue where get_env was not fully renamed * ci: add cann with acl group * ci: define use_acl_graph using GitHub Action * ci: update cann dockerfile with acl graph
This commit is contained in:
parent
baa4ba0aec
commit
e20fa27a02
|
|
@ -42,6 +42,7 @@ RUN source /usr/local/Ascend/ascend-toolkit/set_env.sh --force \
|
||||||
-DGGML_CANN=ON \
|
-DGGML_CANN=ON \
|
||||||
-DCMAKE_BUILD_TYPE=Release \
|
-DCMAKE_BUILD_TYPE=Release \
|
||||||
-DSOC_TYPE=ascend${CHIP_TYPE} \
|
-DSOC_TYPE=ascend${CHIP_TYPE} \
|
||||||
|
-DUSE_ACL_GRAPH=ON \
|
||||||
. && \
|
. && \
|
||||||
cmake --build build --config Release -j$(nproc)
|
cmake --build build --config Release -j$(nproc)
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -1394,6 +1394,11 @@ jobs:
|
||||||
arch: [x86, aarch64]
|
arch: [x86, aarch64]
|
||||||
chip_type: ['910b', '310p']
|
chip_type: ['910b', '310p']
|
||||||
build: ['Release']
|
build: ['Release']
|
||||||
|
use_acl_graph: ['on', 'off']
|
||||||
|
exclude:
|
||||||
|
# 310P does not support USE_ACL_GRAPH=on
|
||||||
|
- chip_type: '310p'
|
||||||
|
use_acl_graph: 'on'
|
||||||
runs-on: ${{ matrix.arch == 'aarch64' && 'ubuntu-24.04-arm' || 'ubuntu-24.04' }}
|
runs-on: ${{ matrix.arch == 'aarch64' && 'ubuntu-24.04-arm' || 'ubuntu-24.04' }}
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
|
|
@ -1419,6 +1424,7 @@ jobs:
|
||||||
env:
|
env:
|
||||||
BUILD_TYPE: ${{ matrix.build }}
|
BUILD_TYPE: ${{ matrix.build }}
|
||||||
SOC_TYPE: ascend${{ matrix.chip_type }}
|
SOC_TYPE: ascend${{ matrix.chip_type }}
|
||||||
|
USE_ACL_GRAPH: ${{ matrix.use_acl_graph }}
|
||||||
run: |
|
run: |
|
||||||
HOST_UID=$(id -u)
|
HOST_UID=$(id -u)
|
||||||
HOST_GID=$(id -g)
|
HOST_GID=$(id -g)
|
||||||
|
|
@ -1428,6 +1434,7 @@ jobs:
|
||||||
-w /workspace \
|
-w /workspace \
|
||||||
-e SOC_TYPE=${SOC_TYPE} \
|
-e SOC_TYPE=${SOC_TYPE} \
|
||||||
-e BUILD_TYPE=${BUILD_TYPE} \
|
-e BUILD_TYPE=${BUILD_TYPE} \
|
||||||
|
-e USE_ACL_GRAPH=${USE_ACL_GRAPH} \
|
||||||
"${{ steps.cann-image.outputs.image }}" \
|
"${{ steps.cann-image.outputs.image }}" \
|
||||||
bash -lc '
|
bash -lc '
|
||||||
set -e
|
set -e
|
||||||
|
|
@ -1438,7 +1445,8 @@ jobs:
|
||||||
cmake -S . -B build \
|
cmake -S . -B build \
|
||||||
-DCMAKE_BUILD_TYPE=${BUILD_TYPE} \
|
-DCMAKE_BUILD_TYPE=${BUILD_TYPE} \
|
||||||
-DGGML_CANN=on \
|
-DGGML_CANN=on \
|
||||||
-DSOC_TYPE=${SOC_TYPE}
|
-DSOC_TYPE=${SOC_TYPE} \
|
||||||
|
-DUSE_ACL_GRAPH=${USE_ACL_GRAPH}
|
||||||
cmake --build build -j $(nproc)
|
cmake --build build -j $(nproc)
|
||||||
|
|
||||||
chown -R '"${HOST_UID}"':'"${HOST_GID}"' /workspace/build
|
chown -R '"${HOST_UID}"':'"${HOST_GID}"' /workspace/build
|
||||||
|
|
|
||||||
|
|
@ -681,9 +681,25 @@ jobs:
|
||||||
openEuler-cann:
|
openEuler-cann:
|
||||||
strategy:
|
strategy:
|
||||||
matrix:
|
matrix:
|
||||||
arch: [x86, aarch64]
|
include:
|
||||||
chip_type: ['910b', '310p']
|
# 910b with aclgraph (both architectures)
|
||||||
build: ['Release']
|
- arch: x86
|
||||||
|
chip_type: '910b'
|
||||||
|
build: 'Release'
|
||||||
|
use_acl_graph: 'on'
|
||||||
|
- arch: aarch64
|
||||||
|
chip_type: '910b'
|
||||||
|
build: 'Release'
|
||||||
|
use_acl_graph: 'on'
|
||||||
|
# 310p without aclgraph (both architectures)
|
||||||
|
- arch: x86
|
||||||
|
chip_type: '310p'
|
||||||
|
build: 'Release'
|
||||||
|
use_acl_graph: 'off'
|
||||||
|
- arch: aarch64
|
||||||
|
chip_type: '310p'
|
||||||
|
build: 'Release'
|
||||||
|
use_acl_graph: 'off'
|
||||||
runs-on: ${{ matrix.arch == 'aarch64' && 'ubuntu-24.04-arm' || 'ubuntu-24.04' }}
|
runs-on: ${{ matrix.arch == 'aarch64' && 'ubuntu-24.04-arm' || 'ubuntu-24.04' }}
|
||||||
steps:
|
steps:
|
||||||
- name: Checkout
|
- name: Checkout
|
||||||
|
|
@ -709,6 +725,7 @@ jobs:
|
||||||
env:
|
env:
|
||||||
BUILD_TYPE: ${{ matrix.build }}
|
BUILD_TYPE: ${{ matrix.build }}
|
||||||
SOC_TYPE: ascend${{ matrix.chip_type }}
|
SOC_TYPE: ascend${{ matrix.chip_type }}
|
||||||
|
USE_ACL_GRAPH: ${{ matrix.use_acl_graph }}
|
||||||
run: |
|
run: |
|
||||||
HOST_UID=$(id -u)
|
HOST_UID=$(id -u)
|
||||||
HOST_GID=$(id -g)
|
HOST_GID=$(id -g)
|
||||||
|
|
@ -718,6 +735,7 @@ jobs:
|
||||||
-w /workspace \
|
-w /workspace \
|
||||||
-e SOC_TYPE=${SOC_TYPE} \
|
-e SOC_TYPE=${SOC_TYPE} \
|
||||||
-e BUILD_TYPE=${BUILD_TYPE} \
|
-e BUILD_TYPE=${BUILD_TYPE} \
|
||||||
|
-e USE_ACL_GRAPH=${USE_ACL_GRAPH} \
|
||||||
"${{ steps.cann-image.outputs.image }}" \
|
"${{ steps.cann-image.outputs.image }}" \
|
||||||
bash -lc '
|
bash -lc '
|
||||||
set -e
|
set -e
|
||||||
|
|
@ -728,7 +746,8 @@ jobs:
|
||||||
cmake -S . -B build \
|
cmake -S . -B build \
|
||||||
-DCMAKE_BUILD_TYPE=${BUILD_TYPE} \
|
-DCMAKE_BUILD_TYPE=${BUILD_TYPE} \
|
||||||
-DGGML_CANN=on \
|
-DGGML_CANN=on \
|
||||||
-DSOC_TYPE=${SOC_TYPE}
|
-DSOC_TYPE=${SOC_TYPE} \
|
||||||
|
-DUSE_ACL_GRAPH=${USE_ACL_GRAPH}
|
||||||
cmake --build build -j $(nproc)
|
cmake --build build -j $(nproc)
|
||||||
|
|
||||||
chown -R '"${HOST_UID}"':'"${HOST_GID}"' /workspace/build
|
chown -R '"${HOST_UID}"':'"${HOST_GID}"' /workspace/build
|
||||||
|
|
@ -741,13 +760,13 @@ jobs:
|
||||||
- name: Pack artifacts
|
- name: Pack artifacts
|
||||||
run: |
|
run: |
|
||||||
cp LICENSE ./build/bin/
|
cp LICENSE ./build/bin/
|
||||||
tar -czvf llama-${{ steps.tag.outputs.name }}-bin-${{ matrix.chip_type }}-openEuler-${{ matrix.arch }}.tar.gz --transform "s,./,llama-${{ steps.tag.outputs.name }}/," -C ./build/bin .
|
tar -czvf llama-${{ steps.tag.outputs.name }}-bin-${{ matrix.chip_type }}-openEuler-${{ matrix.arch }}${{ matrix.use_acl_graph == 'on' && '-aclgraph' || '' }}.tar.gz --transform "s,./,llama-${{ steps.tag.outputs.name }}/," -C ./build/bin .
|
||||||
|
|
||||||
- name: Upload artifacts
|
- name: Upload artifacts
|
||||||
uses: actions/upload-artifact@v4
|
uses: actions/upload-artifact@v4
|
||||||
with:
|
with:
|
||||||
path: llama-${{ steps.tag.outputs.name }}-bin-${{ matrix.chip_type }}-openEuler-${{ matrix.arch }}.tar.gz
|
path: llama-${{ steps.tag.outputs.name }}-bin-${{ matrix.chip_type }}-openEuler-${{ matrix.arch }}${{ matrix.use_acl_graph == 'on' && '-aclgraph' || '' }}.tar.gz
|
||||||
name: llama-bin-${{ matrix.chip_type }}-openEuler-${{ matrix.arch }}.tar.gz
|
name: llama-bin-${{ matrix.chip_type }}-openEuler-${{ matrix.arch }}${{ matrix.use_acl_graph == 'on' && '-aclgraph' || '' }}.tar.gz
|
||||||
|
|
||||||
release:
|
release:
|
||||||
if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event.inputs.create_release == 'true' }}
|
if: ${{ ( github.event_name == 'push' && github.ref == 'refs/heads/master' ) || github.event.inputs.create_release == 'true' }}
|
||||||
|
|
@ -862,9 +881,9 @@ jobs:
|
||||||
|
|
||||||
**openEuler:**
|
**openEuler:**
|
||||||
- [openEuler x86 (310p)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-310p-openEuler-x86.tar.gz)
|
- [openEuler x86 (310p)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-310p-openEuler-x86.tar.gz)
|
||||||
- [openEuler x86 (910b)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-910b-openEuler-x86.tar.gz)
|
- [openEuler x86 (910b, ACL Graph)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-910b-openEuler-x86-aclgraph.tar.gz)
|
||||||
- [openEuler aarch64 (310p)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-310p-openEuler-aarch64.tar.gz)
|
- [openEuler aarch64 (310p)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-310p-openEuler-aarch64.tar.gz)
|
||||||
- [openEuler aarch64 (910b)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-910b-openEuler-aarch64.tar.gz)
|
- [openEuler aarch64 (910b, ACL Graph)](https://github.com/ggml-org/llama.cpp/releases/download/${{ steps.tag.outputs.name }}/llama-${{ steps.tag.outputs.name }}-bin-910b-openEuler-aarch64-aclgraph.tar.gz)
|
||||||
|
|
||||||
- name: Upload release
|
- name: Upload release
|
||||||
id: upload_release
|
id: upload_release
|
||||||
|
|
|
||||||
|
|
@ -382,7 +382,7 @@ struct ggml_cann_graph_lru_cache {
|
||||||
|
|
||||||
std::list<ggml_cann_graph *> cache_list; /**< List storing cached graphs as raw pointers. */
|
std::list<ggml_cann_graph *> cache_list; /**< List storing cached graphs as raw pointers. */
|
||||||
|
|
||||||
ggml_cann_graph_lru_cache() { capacity = parse_integer(get_env("GGML_CANN_GRAPH_CACHE_CAPACITY").value_or("12")); }
|
ggml_cann_graph_lru_cache() { capacity = parse_integer(get_env_as_lowercase("GGML_CANN_GRAPH_CACHE_CAPACITY").value_or("12")); }
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* @brief Push a new graph to the front of the cache.
|
* @brief Push a new graph to the front of the cache.
|
||||||
|
|
@ -574,7 +574,7 @@ struct ggml_backend_cann_context {
|
||||||
description = aclrtGetSocName();
|
description = aclrtGetSocName();
|
||||||
|
|
||||||
#ifdef USE_ACL_GRAPH
|
#ifdef USE_ACL_GRAPH
|
||||||
acl_graph_mode = parse_bool(get_env("GGML_CANN_ACL_GRAPH").value_or("on"));
|
acl_graph_mode = parse_bool(get_env_as_lowercase("GGML_CANN_ACL_GRAPH").value_or("on"));
|
||||||
GGML_LOG_INFO("%s: device %d execution mode is %s (%s)\n", __func__, device, acl_graph_mode ? "GRAPH" : "EAGER",
|
GGML_LOG_INFO("%s: device %d execution mode is %s (%s)\n", __func__, device, acl_graph_mode ? "GRAPH" : "EAGER",
|
||||||
acl_graph_mode ? "acl graph enabled" : "acl graph disabled");
|
acl_graph_mode ? "acl graph enabled" : "acl graph disabled");
|
||||||
#endif
|
#endif
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue