Skip to content

Build ARM CUDA #8631

@johnnynunez

Description

@johnnynunez

Describe the bug
ARM CUDA build.

To Reproduce
uses clang natively because not exists url for aarch64

Log/Screenshots

[479/656] cd /opt/taichi/taichi/runtime/llvm/runtime_module && /usr/bin/clang -c runtime.cpp -o runtime_arm64.bc -fno-exceptions -emit-llvm -std=c++17 -D ARCH_arm64 -I /opt/taichi
[480/656] cd /opt/taichi/taichi/runtime/llvm/runtime_module && /usr/bin/clang -c runtime.cpp -o runtime_cuda.bc -fno-exceptions -emit-llvm -std=c++17 -D ARCH_cuda -I /opt/taichi
FAILED: taichi/runtime/llvm/runtime_module/CMakeFiles/generate_llvm_runtime_cuda /opt/taichi/_skbuild/linux-aarch64-3.10/cmake-build/taichi/runtime/llvm/runtime_module/CMakeFiles/generate_llvm_runtime_cuda 
cd /opt/taichi/taichi/runtime/llvm/runtime_module && /usr/bin/clang -c runtime.cpp -o runtime_cuda.bc -fno-exceptions -emit-llvm -std=c++17 -D ARCH_cuda -I /opt/taichi
runtime.cpp:1137:23: warning: value size does not match register size specified by the constraint and modifier [-Wasm-operand-widths]
               : "=r"(ret)
                      ^
runtime.cpp:1136:37: note: use constraint modifier "w"
  asm volatile("match.all.sync.b32  %0, %1, %2;"
                                    ^~
                                    %w0
runtime.cpp:1138:22: warning: value size does not match register size specified by the constraint and modifier [-Wasm-operand-widths]
               : "r"(value), "r"(mask));
                     ^
runtime.cpp:1136:41: note: use constraint modifier "w"
  asm volatile("match.all.sync.b32  %0, %1, %2;"
                                        ^~
                                        %w1
runtime.cpp:1138:34: warning: value size does not match register size specified by the constraint and modifier [-Wasm-operand-widths]
               : "r"(value), "r"(mask));
                                 ^
runtime.cpp:1136:45: note: use constraint modifier "w"
  asm volatile("match.all.sync.b32  %0, %1, %2;"
                                            ^~
                                            %w2
runtime.cpp:1150:18: error: invalid input constraint 'l' in asm
               : "l"(value), "r"(mask));
                 ^
runtime.cpp:1160:44: warning: value size does not match register size specified by the constraint and modifier [-Wasm-operand-widths]
  asm volatile("activemask.b32 %0;" : "=r"(mask));
                                           ^
runtime.cpp:1160:32: note: use constraint modifier "w"
  asm volatile("activemask.b32 %0;" : "=r"(mask));
                               ^~
                               %w0
4 warnings and 1 error generated.
[481/656] Building CXX object taichi/ui/ggui/CMakeFiles/taichi_ui_ggui.dir/renderable.cpp.o
[482/656] Building CXX object taichi/ui/ggui/CMakeFiles/taichi_ui_ggui.dir/renderer.cpp.o
[483/656] Building CXX object taichi/ui/ggui/CMakeFiles/taichi_ui_ggui.dir/renderables/circles.cpp.o
[484/656] Building CXX object external/SPIRV-Cross/CMakeFiles/spirv-cross-msl.dir/spirv_msl.cpp.o
[485/656] Building CXX object taichi/ui/ggui/CMakeFiles/taichi_ui_ggui.dir/renderables/lines.cpp.o
[486/656] Building CXX object taichi/ui/ggui/CMakeFiles/taichi_ui_ggui.dir/renderables/mesh.cpp.o
[487/656] Building CXX object taichi/ui/ggui/CMakeFiles/taichi_ui_ggui.dir/renderables/particles.cpp.o
[488/656] Building CXX object taichi/ui/ggui/CMakeFiles/taichi_ui_ggui.dir/renderables/scene_lines.cpp.o
[489/656] Building CXX object taichi/ui/ggui/CMakeFiles/taichi_ui_ggui.dir/renderables/set_image.cpp.o
[490/656] Building CXX object taichi/ui/ggui/CMakeFiles/taichi_ui_ggui.dir/renderables/triangles.cpp.o
[491/656] Building CXX object taichi/ui/ggui/CMakeFiles/taichi_ui_ggui.dir/window.cpp.o
ninja: build stopped: subcommand failed.
Traceback (most recent call last):
  File "/root/.cache/ti-build-cache/miniforge/envs/3.10/lib/python3.10/site-packages/skbuild/setuptools_wrap.py", line 668, in setup
    cmkr.make(make_args, install_target=cmake_install_target, env=env)
  File "/root/.cache/ti-build-cache/miniforge/envs/3.10/lib/python3.10/site-packages/skbuild/cmaker.py", line 696, in make
    self.make_impl(clargs=clargs, config=config, source_dir=source_dir, install_target=install_target, env=env)
  File "/root/.cache/ti-build-cache/miniforge/envs/3.10/lib/python3.10/site-packages/skbuild/cmaker.py", line 741, in make_impl
    raise SKBuildError(msg)

An error occurred while building with CMake.
  Command:
    /root/.cache/ti-build-cache/miniforge/envs/3.10/lib/python3.10/site-packages/cmake/data/bin/cmake --build . --target install --config Release -- -j12
  Install target:
    install
  Source directory:
    /opt/taichi
  Working directory:
    /opt/taichi/_skbuild/linux-aarch64-3.10/cmake-build
Please check the install target is valid and see CMake's output for more information.

!! -----EXCEPTION Build Taichi Wheel-----
Traceback (most recent call last):
  File "/opt/taichi/./build.py", line 11, in <module>
    sys.exit(ti_build.entry.main())
  File "/opt/taichi/.github/workflows/scripts/ti_build/entry.py", line 196, in main
    dispatch.get(options.action, action_notimpl)()
  File "/opt/taichi/.github/workflows/scripts/ti_build/entry.py", line 106, in action_wheel
    build_wheel(python, pip)
  File "/opt/taichi/.github/workflows/scripts/ti_build/misc.py", line 67, in wrapper
    ret = f(*args, **kwargs)
  File "/opt/taichi/.github/workflows/scripts/ti_build/entry.py", line 70, in build_wheel
    python("setup.py", *proj_tags, "bdist_wheel", *extra)
  File "/opt/taichi/.github/workflows/scripts/ti_build/tinysh.py", line 160, in __call__
    raise CommandFailed(cmd, code)
ti_build.tinysh.CommandFailed: Command nice /root/.cache/ti-build-cache/miniforge/envs/3.10/bin/python setup.py bdist_wheel -p manylinux_2_28_aarch64 failed with code 1
The command '/bin/sh -c /tmp/TAICHI/install.sh || /tmp/TAICHI/build.sh' returned a non-zero code: 1
Traceback (most recent call last):
  File "/usr/lib/python3.10/runpy.py", line 196, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/usr/lib/python3.10/runpy.py", line 86, in _run_code
    exec(code, run_globals)
  File "/home/johnny/Projects/jetson-containers/jetson_containers/build.py", line 112, in <module>
    build_container(args.name, args.packages, args.base, args.build_flags, args.build_args, args.simulate, args.skip_tests, args.test_only, args.push, args.no_github_api, args.skip_packages)
  File "/home/johnny/Projects/jetson-containers/jetson_containers/container.py", line 147, in build_container
    status = subprocess.run(cmd.replace(_NEWLINE_, ' '), executable='/bin/bash', shell=True, check=True)  
  File "/usr/lib/python3.10/subprocess.py", line 526, in run
    raise CalledProcessError(retcode, process.args,
subprocess.CalledProcessError: Command 'DOCKER_BUILDKIT=0 docker build --network=host --tag genesis:r36.4.3-cu126-cp310-taichi --file /home/johnny/Projects/jetson-containers/packages/robots/genesis/taichi/Dockerfile --build-arg BASE_IMAGE=genesis:r36.4.3-cu126-cp310-ninja --build-arg CUDAARCHS="87" --build-arg TAICHI_VERSION="1.7.4" /home/johnny/Projects/jetson-containers/packages/robots/genesis/taichi 2>&1 | tee /home/johnny/Projects/jetson-containers/logs/20250202_190455/build/genesis_r36.4.3-cu126-cp310-taichi.txt; exit ${PIPESTATUS[0]}' returned non-zero exit status 1.

Image

Additional comments
#8629

vulkan sdk arm from my builds it is working...

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    Status

    Untriaged

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions