diff --git a/.github/workflows/tsingmicro-build-and-test.yml b/.github/workflows/tsingmicro-build-and-test.yml index 54e2bb8ac..4f8beba8e 100644 --- a/.github/workflows/tsingmicro-build-and-test.yml +++ b/.github/workflows/tsingmicro-build-and-test.yml @@ -15,6 +15,12 @@ jobs: runs-on: tsingmicro if: ${{ github.repository == 'FlagTree/flagtree' || github.repository == 'flagos-ai/flagtree' }} steps: + - name: Setup environment + shell: bash + run: | + source ~/env.sh + env | grep -E '^(http_proxy|https_proxy|all_proxy|no_proxy)=' >> $GITHUB_ENV || true + - name: Checkout code (attempt 1) id: checkout1 uses: actions/checkout@v6 @@ -61,11 +67,10 @@ jobs: shell: bash run: | set -x - pip uninstall -y triton source ~/env.sh export FLAGTREE_BACKEND=tsingmicro cd python - python3.11 -m pip install . --no-build-isolation -v + python3 -m pip install . --no-build-isolation - name: FlagTree Test on Tsingmicro if: steps.check_files.outputs.only_docs_changed != 'true' @@ -73,5 +78,24 @@ jobs: run: | set -x source ~/env.sh - python3.11 -c 'import triton; print(triton.__path__)' - /usr/local/lib/python3.11/dist-packages/triton/backends/tsingmicro/bin/tsingmicro-opt --version + export TX8_DEPS_ROOT=~/.flagtree/tsingmicro/tx8_deps + export LLVM_SYSPATH=~/.flagtree/tsingmicro/tsingmicro-llvm21-glibc2.30-glibcxx3.4.28-python3.10-x64 + export LLVM_BINARY_DIR=${LLVM_SYSPATH}/bin + export PYTHONPATH=${LLVM_SYSPATH}/python_packages/mlir_core:$PYTHONPATH + export LD_LIBRARY_PATH=$TX8_DEPS_ROOT/lib:$LD_LIBRARY_PATH + + cd third_party/tsingmicro/examples + python3 bare_matmul_autotune.py >result-bare_matmul_autotune.txt + python3 embedding.py >result-embedding.txt + python3 mult_ir.py >result-mult_ir.txt + python3 profile_matmul.py >result-profile_matmul.txt + python3 quant_gptq.py >result-quant_gptq.txt + python3 test_cos.py >result-test_cos.txt + python3 test_embedding.py >result-test_embedding.txt + python3 test_flip.py >result-test_flip.txt + python3 test_layernorm.py >result-test_layernorm.txt + python3 test_matmul.py >result-test_matmul.txt + python3 test_print.py >result-test_print.txt + python3 test_softmax.py >result-test_softmax.txt + python3 test_vec_add.py >result-test_vec_add.txt + python3 time1.py >result-time1.txt diff --git a/CMakeLists.txt b/CMakeLists.txt index 8f5c3fb3d..05f6faaf1 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -36,8 +36,13 @@ elseif(FLAGTREE_BACKEND STREQUAL "aipu") add_definitions(-D__NVIDIA__) add_definitions(-D__AMD__) elseif(FLAGTREE_BACKEND STREQUAL "tsingmicro") - set(CMAKE_C_COMPILER clang) - set(CMAKE_CXX_COMPILER clang++) + set(CMAKE_C_COMPILER clang-21) + set(CMAKE_CXX_COMPILER clang++-21) + set(CMAKE_LINKER lld-21) + set(CMAKE_EXE_LINKER_FLAGS "-fuse-ld=lld-21") + set(CMAKE_MODULE_LINKER_FLAGS "-fuse-ld=lld-21") + set(CMAKE_SHARED_LINKER_FLAGS "-fuse-ld=lld-21") + set(CMAKE_CXX_FLAGS "${CMAKE_CXX_FLAGS} -Wno-dangling-assignment-gsl") endif() set(FLAGTREE_PLUGIN "$ENV{FLAGTREE_PLUGIN}") if(FLAGTREE_PLUGIN) diff --git a/python/setup_tools/setup_helper.py b/python/setup_tools/setup_helper.py index 848194262..997f44ec0 100644 --- a/python/setup_tools/setup_helper.py +++ b/python/setup_tools/setup_helper.py @@ -414,10 +414,10 @@ def uninstall_triton(): # tsingmicro cache.store( - file="tsingmicro-llvm21-glibc2.30-glibcxx3.4.28-python3.11-x64", + file="tsingmicro-llvm21-glibc2.30-glibcxx3.4.28-python3.10-x64", condition=("tsingmicro" == flagtree_backend), url= - "https://baai-cp-web.ks3-cn-beijing.ksyuncs.com/trans/tsingmicro-llvm21-glibc2.30-glibcxx3.4.28-python3.11-x64_v0.2.0.tar.gz", + "https://baai-cp-web.ks3-cn-beijing.ksyuncs.com/trans/tsingmicro-llvm21-glibc2.30-glibcxx3.4.28-python3.10-x64_v0.4.0.tar.gz", pre_hock=lambda: check_env('LLVM_SYSPATH'), post_hock=set_llvm_env, ) @@ -425,10 +425,10 @@ def uninstall_triton(): cache.store( file="tx8_deps", condition=("tsingmicro" == flagtree_backend), - url="https://baai-cp-web.ks3-cn-beijing.ksyuncs.com/trans/tx8_depends_release_20250814_195126_v0.2.0.tar.gz", + url="https://baai-cp-web.ks3-cn-beijing.ksyuncs.com/trans/tx8_depends_dev_20251218_164108_v0.4.0.tar.gz", pre_hock=lambda: check_env('TX8_DEPS_ROOT'), post_hock=lambda path: set_env({ - 'LLVM_SYSPATH': path, + 'TX8_DEPS_ROOT': path, }), ) diff --git a/third_party/tsingmicro/examples/test_flip.py b/third_party/tsingmicro/examples/test_flip.py index dee56a056..2177f2d4f 100644 --- a/third_party/tsingmicro/examples/test_flip.py +++ b/third_party/tsingmicro/examples/test_flip.py @@ -4,7 +4,7 @@ import triton.language as tl import benchmark -benchmark.select_cpu_backend() +# benchmark.select_cpu_backend() from triton._internal_testing import numpy_random