Thanks to visit codestin.com
Credit goes to github.com

Skip to content

Commit eda8bfb

Browse files
authored
Merge pull request #1 from dhellmann/add-ai-related-package-patches
import a selection of sample patches from RHEL AI downstream build
2 parents 8a7a694 + d23d29b commit eda8bfb

File tree

71 files changed

+3261
-0
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

71 files changed

+3261
-0
lines changed
Lines changed: 66 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,66 @@
1+
diff --git a/CMakeLists.txt b/CMakeLists.txt
2+
index fbc4717..5010b8d 100644
3+
--- a/CMakeLists.txt
4+
+++ b/CMakeLists.txt
5+
@@ -75,18 +75,18 @@ set(ENV{VIRTUAL_ENV} "${VENV_DIR}")
6+
# unset(Python3_EXECUTABLE)
7+
# find_package(Python3 COMPONENTS Interpreter REQUIRED)
8+
9+
-execute_process(COMMAND ${CMAKE_COMMAND} -E env VIRTUAL_ENV=${VENV_DIR} PATH="${VENV_DIR}/bin:$ENV{PATH}" python -m site --user-site OUTPUT_VARIABLE VENV_SITE)
10+
+execute_process(COMMAND ${CMAKE_COMMAND} -E env VIRTUAL_ENV=${VENV_DIR} PATH="/usr/bin:$ENV{PATH}" python -m site --user-site OUTPUT_VARIABLE VENV_SITE)
11+
message("VENV_SITE ${VENV_SITE}")
12+
13+
add_custom_target(aotriton_venv_req
14+
- COMMAND ${CMAKE_COMMAND} -E env VIRTUAL_ENV=${VENV_DIR} PATH="${VENV_DIR}/bin:$ENV{PATH}" python -m pip install -r "${CMAKE_CURRENT_LIST_DIR}/requirements.txt"
15+
+ COMMAND ${CMAKE_COMMAND} -E env VIRTUAL_ENV=${VENV_DIR} PATH="/usr/bin:$ENV{PATH}" python -m pip install -r "${CMAKE_CURRENT_LIST_DIR}/requirements.txt"
16+
BYPRODUCTS "${VENV_DIR}/bin/pytest"
17+
)
18+
19+
set(TRITON_BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}/triton_build")
20+
execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory "${TRITON_BUILD_DIR}")
21+
add_custom_target(aotriton_venv_triton
22+
- COMMAND ${CMAKE_COMMAND} -E env VIRTUAL_ENV=${VENV_DIR} PATH="${VENV_DIR}/bin:$ENV{PATH}" TRITON_BUILD_DIR=${TRITON_BUILD_DIR} python setup.py develop
23+
+ COMMAND ${CMAKE_COMMAND} -E env VIRTUAL_ENV=${VENV_DIR} PATH="/usr/bin:$ENV{PATH}" TRITON_BUILD_DIR=${TRITON_BUILD_DIR} python setup.py develop
24+
# COMMAND ${CMAKE_COMMAND} -E env VIRTUAL_ENV=${VENV_DIR} python -m pip show triton
25+
WORKING_DIRECTORY "${CMAKE_CURRENT_LIST_DIR}/third_party/triton/python/"
26+
BYPRODUCTS "${VENV_SITE}/triton/_C/libtriton.so"
27+
diff --git a/v2src/CMakeLists.txt b/v2src/CMakeLists.txt
28+
index cd941b6..e38d295 100644
29+
--- a/v2src/CMakeLists.txt
30+
+++ b/v2src/CMakeLists.txt
31+
@@ -12,7 +12,7 @@ if(AOTRITON_COMPRESS_KERNEL)
32+
list(APPEND AOTRITON_GEN_FLAGS "--enable_zstd" "${ZSTD_EXEC}")
33+
endif(AOTRITON_COMPRESS_KERNEL)
34+
add_custom_target(aotriton_v2_gen_compile
35+
- COMMAND ${CMAKE_COMMAND} -E env VIRTUAL_ENV=${VENV_DIR} PATH="${VENV_DIR}/bin:$ENV{PATH}" python -m v2python.generate_compile --target_gpus ${TARGET_GPUS} --build_dir "${AOTRITON_V2_BUILD_DIR}" ${AOTRITON_GEN_FLAGS}
36+
+ COMMAND ${CMAKE_COMMAND} -E env VIRTUAL_ENV=${VENV_DIR} PATH="/usr/bin:$ENV{PATH}" python -m v2python.generate_compile --target_gpus ${TARGET_GPUS} --build_dir "${AOTRITON_V2_BUILD_DIR}" ${AOTRITON_GEN_FLAGS}
37+
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
38+
BYPRODUCTS "${AOTRITON_V2_BUILD_DIR}/Makefile.compile"
39+
)
40+
@@ -30,7 +30,7 @@ endif()
41+
add_custom_target(aotriton_v2_compile
42+
# (CAVEAT) KNOWN PROBLEM: Will not work if LD_PRELOAD is not empty
43+
# FIXME: Change this into `-E env --modify LD_PRELOAD=path_list_prepend:${AMDOCL_LD_PRELOAD}` when minimal cmake >= 3.25
44+
- COMMAND ${CMAKE_COMMAND} -E env VIRTUAL_ENV=${VENV_DIR} PATH="${VENV_DIR}/bin:$ENV{PATH}" make -j ${MAX_JOBS} -f Makefile.compile LIBHSA_RUNTIME64=${AMDHSA_LD_PRELOAD}
45+
+ COMMAND ${CMAKE_COMMAND} -E env VIRTUAL_ENV=${VENV_DIR} PATH="/usr/bin:$ENV{PATH}" make -j ${MAX_JOBS} -f Makefile.compile LIBHSA_RUNTIME64=${AMDHSA_LD_PRELOAD}
46+
WORKING_DIRECTORY "${AOTRITON_V2_BUILD_DIR}"
47+
COMMAND_EXPAND_LISTS
48+
BYPRODUCTS "${AOTRITON_V2_BUILD_DIR}/flash/attn_fwd.h"
49+
@@ -50,7 +50,7 @@ message(STATUS "AOTRITON_ZSTD_INCLUDE ${AOTRITON_ZSTD_INCLUDE}")
50+
message(STATUS "AOTRITON_SHIM_FLAGS ${AOTRITON_SHIM_FLAGS}")
51+
52+
add_custom_target(aotriton_v2_gen_shim
53+
- COMMAND ${CMAKE_COMMAND} -E env VIRTUAL_ENV=${VENV_DIR} PATH="${VENV_DIR}/bin:$ENV{PATH}" python -m v2python.generate_shim --target_gpus ${TARGET_GPUS} --build_dir ${AOTRITON_V2_BUILD_DIR} ${AOTRITON_SHIM_FLAGS}
54+
+ COMMAND ${CMAKE_COMMAND} -E env VIRTUAL_ENV=${VENV_DIR} PATH="/usr/bin:$ENV{PATH}" python -m v2python.generate_shim --target_gpus ${TARGET_GPUS} --build_dir ${AOTRITON_V2_BUILD_DIR} ${AOTRITON_SHIM_FLAGS}
55+
WORKING_DIRECTORY "${CMAKE_SOURCE_DIR}"
56+
COMMAND_EXPAND_LISTS
57+
BYPRODUCTS "${AOTRITON_V2_BUILD_DIR}/Makefile.shim"
58+
@@ -60,7 +60,7 @@ add_dependencies(aotriton_v2_gen_shim aotriton_v2_compile) # Shim source files n
59+
message(STATUS "AOTRITON_EXTRA_COMPILER_OPTIONS ${AOTRITON_EXTRA_COMPILER_OPTIONS}")
60+
add_custom_target(aotriton_v2
61+
ALL
62+
- COMMAND ${CMAKE_COMMAND} -E env VIRTUAL_ENV=${VENV_DIR} PATH="${VENV_DIR}/bin:$ENV{PATH}" make -j ${MAX_JOBS} -f Makefile.shim HIPCC=${AOTRITON_HIPCC_PATH} AR=${CMAKE_AR} EXTRA_COMPILER_OPTIONS=${AOTRITON_EXTRA_COMPILER_OPTIONS}
63+
+ COMMAND ${CMAKE_COMMAND} -E env VIRTUAL_ENV=${VENV_DIR} PATH="/usr/bin:$ENV{PATH}" make -j ${MAX_JOBS} -f Makefile.shim HIPCC=${AOTRITON_HIPCC_PATH} AR=${CMAKE_AR} EXTRA_COMPILER_OPTIONS=${AOTRITON_EXTRA_COMPILER_OPTIONS}
64+
WORKING_DIRECTORY "${AOTRITON_V2_BUILD_DIR}"
65+
BYPRODUCTS "${AOTRITON_V2_BUILD_DIR}/libaotriton_v2.a"
66+
)
Lines changed: 94 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,94 @@
1+
diff --git a/third_party/triton/python/setup.py b/third_party/triton/python/setup.py
2+
index 55425adf1c90..661fd7167110 100644
3+
--- a/third_party/triton/python/setup.py
4+
+++ b/third_party/triton/python/setup.py
5+
@@ -1,5 +1,6 @@
6+
import os
7+
import platform
8+
+import pybind11
9+
import re
10+
import shutil
11+
import subprocess
12+
@@ -47,80 +48,9 @@ def get_codegen_backends():
13+
# --- third party packages -----
14+
15+
16+
-class Package(NamedTuple):
17+
- package: str
18+
- name: str
19+
- url: str
20+
- include_flag: str
21+
- lib_flag: str
22+
- syspath_var_name: str
23+
-
24+
-
25+
-# pybind11
26+
-
27+
-
28+
-def get_pybind11_package_info():
29+
- name = "pybind11-2.11.1"
30+
- url = "https://github.com/pybind/pybind11/archive/refs/tags/v2.11.1.tar.gz"
31+
- return Package("pybind11", name, url, "PYBIND11_INCLUDE_DIR", "", "PYBIND11_SYSPATH")
32+
-
33+
-
34+
-# llvm
35+
-
36+
-
37+
-def get_llvm_package_info():
38+
- # added statement for Apple Silicon
39+
- system = platform.system()
40+
- arch = platform.machine()
41+
- if arch == 'aarch64':
42+
- arch = 'arm64'
43+
- if system == "Darwin":
44+
- arch = platform.machine()
45+
- if arch == "x86_64":
46+
- arch = "x64"
47+
- system_suffix = f"macos-{arch}"
48+
- elif system == "Linux":
49+
- # TODO: arm64
50+
- vglibc = tuple(map(int, platform.libc_ver()[1].split('.')))
51+
- vglibc = vglibc[0] * 100 + vglibc[1]
52+
- system_suffix = 'ubuntu-x64' if vglibc > 217 else 'centos-x64'
53+
- else:
54+
- return Package("llvm", "LLVM-C.lib", "", "LLVM_INCLUDE_DIRS", "LLVM_LIBRARY_DIR", "LLVM_SYSPATH")
55+
- # use_assert_enabled_llvm = check_env_flag("TRITON_USE_ASSERT_ENABLED_LLVM", "False")
56+
- # release_suffix = "assert" if use_assert_enabled_llvm else "release"
57+
- rev = "49af6502"
58+
- name = f"llvm-{rev}-{system_suffix}"
59+
- url = f"https://tritonlang.blob.core.windows.net/llvm-builds/{name}.tar.gz"
60+
- return Package("llvm", name, url, "LLVM_INCLUDE_DIRS", "LLVM_LIBRARY_DIR", "LLVM_SYSPATH")
61+
-
62+
-
63+
def get_thirdparty_packages(triton_cache_path):
64+
- packages = [get_pybind11_package_info(), get_llvm_package_info()]
65+
- thirdparty_cmake_args = []
66+
- for p in packages:
67+
- package_root_dir = os.path.join(triton_cache_path, p.package)
68+
- package_dir = os.path.join(package_root_dir, p.name)
69+
- if p.syspath_var_name in os.environ:
70+
- package_dir = os.environ[p.syspath_var_name]
71+
- version_file_path = os.path.join(package_dir, "version.txt")
72+
- if p.syspath_var_name not in os.environ and\
73+
- (not os.path.exists(version_file_path) or Path(version_file_path).read_text() != p.url):
74+
- try:
75+
- shutil.rmtree(package_root_dir)
76+
- except Exception:
77+
- pass
78+
- os.makedirs(package_root_dir, exist_ok=True)
79+
- print(f'downloading and extracting {p.url} ...')
80+
- ftpstream = urllib.request.urlopen(p.url)
81+
- file = tarfile.open(fileobj=ftpstream, mode="r|*")
82+
- file.extractall(path=package_root_dir)
83+
- # write version url to package_dir
84+
- with open(os.path.join(package_dir, "version.txt"), "w") as f:
85+
- f.write(p.url)
86+
- if p.include_flag:
87+
- thirdparty_cmake_args.append(f"-D{p.include_flag}={package_dir}/include")
88+
- if p.lib_flag:
89+
- thirdparty_cmake_args.append(f"-D{p.lib_flag}={package_dir}/lib")
90+
+ llvm_syspath = os.environ["LLVM_SYSPATH"]
91+
+ thirdparty_cmake_args = [f"-DPYBIND11_INCLUDE_DIR={pybind11.get_include()}", f"-DLLVM_INCLUDE_DIRS={llvm_syspath}/include", f"-DLLVM_LIBRARY_DIR={llvm_syspath}/lib"]
92+
return thirdparty_cmake_args
93+
94+
Lines changed: 10 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,10 @@
1+
diff --git a/third_party/triton/CMakeLists.txt b/third_party/triton/CMakeLists.txt
2+
index 55a5d8b3b727..c302661cc84d 100644
3+
--- a/third_party/triton/CMakeLists.txt
4+
+++ b/third_party/triton/CMakeLists.txt
5+
@@ -309,5 +309,3 @@ if (${CODEGEN_BACKENDS_LEN} GREATER 0)
6+
endif()
7+
8+
add_subdirectory(test)
9+
-
10+
-add_subdirectory(unittest)
Lines changed: 91 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,91 @@
1+
From ba293cdca5de7495260a501027dc7e51434df6e9 Mon Sep 17 00:00:00 2001
2+
From: Joseph Groenenboom <[email protected]>
3+
Date: Mon, 30 Sep 2024 10:43:35 -0400
4+
Subject: [PATCH 1/1] Override venv python directory.
5+
6+
Remove use of venv to make use of our own consolodated build and complier hosting.
7+
8+
---
9+
CMakeLists.txt | 6 +++---
10+
v2src/CMakeLists.txt | 10 +++++-----
11+
2 files changed, 8 insertions(+), 8 deletions(-)
12+
13+
diff --git a/CMakeLists.txt b/CMakeLists.txt
14+
index 4d93610..81f1ec2 100644
15+
--- a/CMakeLists.txt
16+
+++ b/CMakeLists.txt
17+
@@ -74,11 +74,11 @@ message("VENV_DIR ${VENV_DIR}")
18+
# unset(Python3_EXECUTABLE)
19+
# find_package(Python3 COMPONENTS Interpreter REQUIRED)
20+
21+
-execute_process(COMMAND ${CMAKE_COMMAND} -E env VIRTUAL_ENV=${VENV_DIR} "${VENV_DIR}/bin/python" -c "import site; print(site.getsitepackages()[0], end='')" OUTPUT_VARIABLE VENV_SITE)
22+
+execute_process(COMMAND ${CMAKE_COMMAND} -E env VIRTUAL_ENV=${VENV_DIR} PATH="/usr/bin:$ENV{PATH}" python -c "import site; print(site.getsitepackages()[0], end='')" OUTPUT_VARIABLE VENV_SITE)
23+
# string(STRIP "${VENV_SITE}" VENV_SITE)
24+
message("VENV_SITE ${VENV_SITE}")
25+
26+
-execute_process(COMMAND ${CMAKE_COMMAND} -E env VIRTUAL_ENV=${VENV_DIR} "${VENV_DIR}/bin/python" -m pip install -r "${CMAKE_CURRENT_LIST_DIR}/requirements.txt")
27+
+execute_process(COMMAND ${CMAKE_COMMAND} -E env VIRTUAL_ENV=${VENV_DIR} PATH="/usr/bin:$ENV{PATH}" python -m pip install -r "${CMAKE_CURRENT_LIST_DIR}/requirements.txt")
28+
29+
set(TRITON_BUILD_DIR "${CMAKE_CURRENT_BINARY_DIR}/triton_build")
30+
execute_process(COMMAND ${CMAKE_COMMAND} -E make_directory "${TRITON_BUILD_DIR}")
31+
@@ -87,7 +87,7 @@ set(AOTRITON_TRITON_EGGLINK "${VENV_SITE}/triton.egg-link")
32+
message("AOTRITON_TRITON_EGGLINK ${AOTRITON_TRITON_EGGLINK}")
33+
34+
add_custom_command(OUTPUT "${AOTRITON_TRITON_EGGLINK}"
35+
- COMMAND ${CMAKE_COMMAND} -E env VIRTUAL_ENV=${VENV_DIR} TRITON_BUILD_DIR=${TRITON_BUILD_DIR} "${VENV_DIR}/bin/python" setup.py develop
36+
+ COMMAND ${CMAKE_COMMAND} -E env VIRTUAL_ENV=${VENV_DIR} TRITON_BUILD_DIR=${TRITON_BUILD_DIR} PATH="/usr/bin:$ENV{PATH}" python setup.py develop
37+
# COMMAND ${CMAKE_COMMAND} -E env VIRTUAL_ENV=${VENV_DIR} python -m pip show triton
38+
WORKING_DIRECTORY "${CMAKE_CURRENT_LIST_DIR}/third_party/triton/python/"
39+
BYPRODUCTS "${AOTRITON_TRITON_SO}"
40+
diff --git a/v2src/CMakeLists.txt b/v2src/CMakeLists.txt
41+
index f0d323f..f4753dc 100644
42+
--- a/v2src/CMakeLists.txt
43+
+++ b/v2src/CMakeLists.txt
44+
@@ -26,7 +26,7 @@ message("AOTRITON_COMPILER ${AOTRITON_COMPILER}")
45+
# add_dependencies(aotriton_v2_gen_compile aotriton_venv_triton)
46+
47+
execute_process(
48+
- COMMAND ${CMAKE_COMMAND} -E env VIRTUAL_ENV=${VENV_DIR} "${VENV_DIR}/bin/python" -m v2python.generate_compile --target_gpus ${TARGET_GPUS} --build_dir "${AOTRITON_V2_BUILD_DIR}" --bare_mode
49+
+ COMMAND ${CMAKE_COMMAND} -E env VIRTUAL_ENV=${VENV_DIR} PATH="/usr/bin:$ENV{PATH}" python -m v2python.generate_compile --target_gpus ${TARGET_GPUS} --build_dir "${AOTRITON_V2_BUILD_DIR}" --bare_mode
50+
COMMAND_ECHO STDOUT
51+
WORKING_DIRECTORY "${CMAKE_CURRENT_SOURCE_PARENT_DIR}"
52+
)
53+
@@ -45,7 +45,7 @@ foreach(RULE IN LISTS HSACO_RULES)
54+
list(POP_FRONT RULE SIG)
55+
if(AOTRITON_COMPRESS_KERNEL)
56+
add_custom_command(OUTPUT "${HSACO}.zst"
57+
- COMMAND ${CMAKE_COMMAND} -E env VIRTUAL_ENV=${VENV_DIR} "${VENV_DIR}/bin/python"
58+
+ COMMAND ${CMAKE_COMMAND} -E env VIRTUAL_ENV=${VENV_DIR} PATH="/usr/bin:$ENV{PATH}" python
59+
"${AOTRITON_COMPILER}"
60+
"${SRC}"
61+
"--kernel_name" "${KNAME}"
62+
@@ -62,7 +62,7 @@ foreach(RULE IN LISTS HSACO_RULES)
63+
list(APPEND ALL_HSACOS "${HSACO}.zst")
64+
else(AOTRITON_COMPRESS_KERNEL)
65+
add_custom_command(OUTPUT "${HSACO}"
66+
- COMMAND ${CMAKE_COMMAND} -E env VIRTUAL_ENV=${VENV_DIR} "${VENV_DIR}/bin/python"
67+
+ COMMAND ${CMAKE_COMMAND} -E env VIRTUAL_ENV=${VENV_DIR} PATH="/usr/bin:$ENV{PATH}" python
68+
"${AOTRITON_COMPILER}"
69+
"${SRC}"
70+
"--kernel_name" "${KNAME}"
71+
@@ -113,7 +113,7 @@ message(STATUS "AOTRITON_ZSTD_INCLUDE ${AOTRITON_ZSTD_INCLUDE}")
72+
message(STATUS "AOTRITON_SHIM_FLAGS ${AOTRITON_SHIM_FLAGS}")
73+
74+
execute_process(
75+
- COMMAND ${CMAKE_COMMAND} -E env VIRTUAL_ENV=${VENV_DIR} "${VENV_DIR}/bin/python" -m v2python.generate_shim --target_gpus ${TARGET_GPUS} --build_dir ${AOTRITON_V2_BUILD_DIR} --bare_mode
76+
+ COMMAND ${CMAKE_COMMAND} -E env VIRTUAL_ENV=${VENV_DIR} PATH="/usr/bin:$ENV{PATH}" python -m v2python.generate_shim --target_gpus ${TARGET_GPUS} --build_dir ${AOTRITON_V2_BUILD_DIR} --bare_mode
77+
COMMAND_ECHO STDOUT
78+
WORKING_DIRECTORY "${CMAKE_CURRENT_LIST_DIR}/.."
79+
)
80+
@@ -122,7 +122,7 @@ file(STRINGS "${AOTRITON_V2_BUILD_DIR}/Bare.shim" SHIM_CC_FILES)
81+
# CAVEAT: Actual shim code can only be generated during build phase because it
82+
# requires some kernel information. (Notably shared memory requirement)
83+
add_custom_target(aotriton_v2_gen_shim
84+
- COMMAND ${CMAKE_COMMAND} -E env VIRTUAL_ENV=${VENV_DIR} "${VENV_DIR}/bin/python" -m v2python.generate_shim --target_gpus ${TARGET_GPUS} --build_dir ${AOTRITON_V2_BUILD_DIR} ${AOTRITON_SHIM_FLAGS}
85+
+ COMMAND ${CMAKE_COMMAND} -E env VIRTUAL_ENV=${VENV_DIR} PATH="/usr/bin:$ENV{PATH}" python -m v2python.generate_shim --target_gpus ${TARGET_GPUS} --build_dir ${AOTRITON_V2_BUILD_DIR} ${AOTRITON_SHIM_FLAGS}
86+
BYPRODUCTS ${SHIM_CC_FILES} # Essential, otherwise add_library complains
87+
COMMAND_EXPAND_LISTS
88+
WORKING_DIRECTORY "${CMAKE_CURRENT_LIST_DIR}/.."
89+
--
90+
2.43.5
91+
Lines changed: 107 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,107 @@
1+
From 55ae25284806f3838aec874817f188fc4f3694af Mon Sep 17 00:00:00 2001
2+
From: Joseph Groenenboom <[email protected]>
3+
Date: Mon, 30 Sep 2024 14:45:47 -0400
4+
Subject: [PATCH 1/2] Add pybind11 dependency and remove build deltas.
5+
6+
---
7+
python/setup.py | 77 ++-----------------------------------------------
8+
1 file changed, 3 insertions(+), 74 deletions(-)
9+
10+
diff --git a/third_party/triton/python/setup.py b/python/setup.py
11+
index 55425adf1..c34670cc3 100644
12+
--- a/third_party/triton/python/setup.py
13+
+++ b/third_party/triton/python/setup.py
14+
@@ -1,5 +1,6 @@
15+
import os
16+
import platform
17+
+import pybind11
18+
import re
19+
import shutil
20+
import subprocess
21+
@@ -46,81 +47,9 @@ def get_codegen_backends():
22+
23+
# --- third party packages -----
24+
25+
-
26+
-class Package(NamedTuple):
27+
- package: str
28+
- name: str
29+
- url: str
30+
- include_flag: str
31+
- lib_flag: str
32+
- syspath_var_name: str
33+
-
34+
-
35+
-# pybind11
36+
-
37+
-
38+
-def get_pybind11_package_info():
39+
- name = "pybind11-2.11.1"
40+
- url = "https://github.com/pybind/pybind11/archive/refs/tags/v2.11.1.tar.gz"
41+
- return Package("pybind11", name, url, "PYBIND11_INCLUDE_DIR", "", "PYBIND11_SYSPATH")
42+
-
43+
-
44+
-# llvm
45+
-
46+
-
47+
-def get_llvm_package_info():
48+
- # added statement for Apple Silicon
49+
- system = platform.system()
50+
- arch = platform.machine()
51+
- if arch == 'aarch64':
52+
- arch = 'arm64'
53+
- if system == "Darwin":
54+
- arch = platform.machine()
55+
- if arch == "x86_64":
56+
- arch = "x64"
57+
- system_suffix = f"macos-{arch}"
58+
- elif system == "Linux":
59+
- # TODO: arm64
60+
- vglibc = tuple(map(int, platform.libc_ver()[1].split('.')))
61+
- vglibc = vglibc[0] * 100 + vglibc[1]
62+
- system_suffix = 'ubuntu-x64' if vglibc > 217 else 'centos-x64'
63+
- else:
64+
- return Package("llvm", "LLVM-C.lib", "", "LLVM_INCLUDE_DIRS", "LLVM_LIBRARY_DIR", "LLVM_SYSPATH")
65+
- # use_assert_enabled_llvm = check_env_flag("TRITON_USE_ASSERT_ENABLED_LLVM", "False")
66+
- # release_suffix = "assert" if use_assert_enabled_llvm else "release"
67+
- rev = "49af6502"
68+
- name = f"llvm-{rev}-{system_suffix}"
69+
- url = f"https://tritonlang.blob.core.windows.net/llvm-builds/{name}.tar.gz"
70+
- return Package("llvm", name, url, "LLVM_INCLUDE_DIRS", "LLVM_LIBRARY_DIR", "LLVM_SYSPATH")
71+
-
72+
-
73+
def get_thirdparty_packages(triton_cache_path):
74+
- packages = [get_pybind11_package_info(), get_llvm_package_info()]
75+
- thirdparty_cmake_args = []
76+
- for p in packages:
77+
- package_root_dir = os.path.join(triton_cache_path, p.package)
78+
- package_dir = os.path.join(package_root_dir, p.name)
79+
- if p.syspath_var_name in os.environ:
80+
- package_dir = os.environ[p.syspath_var_name]
81+
- version_file_path = os.path.join(package_dir, "version.txt")
82+
- if p.syspath_var_name not in os.environ and\
83+
- (not os.path.exists(version_file_path) or Path(version_file_path).read_text() != p.url):
84+
- try:
85+
- shutil.rmtree(package_root_dir)
86+
- except Exception:
87+
- pass
88+
- os.makedirs(package_root_dir, exist_ok=True)
89+
- print(f'downloading and extracting {p.url} ...')
90+
- ftpstream = urllib.request.urlopen(p.url)
91+
- file = tarfile.open(fileobj=ftpstream, mode="r|*")
92+
- file.extractall(path=package_root_dir)
93+
- # write version url to package_dir
94+
- with open(os.path.join(package_dir, "version.txt"), "w") as f:
95+
- f.write(p.url)
96+
- if p.include_flag:
97+
- thirdparty_cmake_args.append(f"-D{p.include_flag}={package_dir}/include")
98+
- if p.lib_flag:
99+
- thirdparty_cmake_args.append(f"-D{p.lib_flag}={package_dir}/lib")
100+
+ llvm_syspath = os.environ["LLVM_SYSPATH"]
101+
+ thirdparty_cmake_args = [f"-DPYBIND11_INCLUDE_DIR={pybind11.get_include()}", f"-DLLVM_INCLUDE_DIRS={llvm_syspath}/include", f"-DLLVM_LIBRARY_DIR={llvm_syspath}/lib"]
102+
return thirdparty_cmake_args
103+
104+
105+
--
106+
2.43.5
107+
Lines changed: 22 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,22 @@
1+
From 8f23770b6cb93357e13240e9a16194631fdef455 Mon Sep 17 00:00:00 2001
2+
From: Joseph Groenenboom <[email protected]>
3+
Date: Mon, 30 Sep 2024 14:57:01 -0400
4+
Subject: [PATCH 2/2] Remove AOTriton unit tests from Triton
5+
6+
---
7+
CMakeLists.txt | 2 --
8+
1 file changed, 2 deletions(-)
9+
10+
diff --git a/third_party/triton/CMakeLists.txt b/third_party/triton/CMakeLists.txt
11+
index 55a5d8b3b..c302661cc 100644
12+
--- a/third_party/triton/CMakeLists.txt
13+
+++ b/third_party/triton/CMakeLists.txt
14+
@@ -309,5 +309,3 @@ if (${CODEGEN_BACKENDS_LEN} GREATER 0)
15+
endif()
16+
17+
add_subdirectory(test)
18+
-
19+
-add_subdirectory(unittest)
20+
--
21+
2.43.5
22+

0 commit comments

Comments
 (0)