From d8f199efab8c7dcb4284e8c8cedd318984394302 Mon Sep 17 00:00:00 2001 From: Arjun Date: Wed, 14 May 2025 18:58:44 +0530 Subject: [PATCH 1/3] Fixes for oneapi installation --- script/download-and-extract/meta.yaml | 12 +++++- script/extract-file/meta.yaml | 4 +- .../{get-one-api => get-oneapi}/COPYRIGHT.md | 0 .../{get-one-api => get-oneapi}/customize.py | 41 +++++++++++++------ script/get-oneapi/install.sh | 10 +++++ script/{get-one-api => get-oneapi}/meta.yaml | 12 ++++++ script/{get-one-api => get-oneapi}/run.bat | 0 script/{get-one-api => get-oneapi}/run.sh | 0 8 files changed, 62 insertions(+), 17 deletions(-) rename script/{get-one-api => get-oneapi}/COPYRIGHT.md (100%) rename script/{get-one-api => get-oneapi}/customize.py (68%) create mode 100644 script/get-oneapi/install.sh rename script/{get-one-api => get-oneapi}/meta.yaml (57%) rename script/{get-one-api => get-oneapi}/run.bat (100%) rename script/{get-one-api => get-oneapi}/run.sh (100%) diff --git a/script/download-and-extract/meta.yaml b/script/download-and-extract/meta.yaml index d2137d71c..96ff8c6a8 100644 --- a/script/download-and-extract/meta.yaml +++ b/script/download-and-extract/meta.yaml @@ -85,11 +85,19 @@ variations: default: 'true' env: MLC_EXTRACT_REMOVE_EXTRACTED: 'no' + adr: + extract-script: + tags: + _keep group: keep - no-remove-extracted: + remove-extracted: env: - MLC_EXTRACT_REMOVE_EXTRACTED: 'no' + MLC_EXTRACT_REMOVE_EXTRACTED: 'yes' group: keep + adr: + extract-script: + tags: + _remove-extracted rclone: add_deps: download-script: diff --git a/script/extract-file/meta.yaml b/script/extract-file/meta.yaml index 79f1538c3..b4cbc9131 100644 --- a/script/extract-file/meta.yaml +++ b/script/extract-file/meta.yaml @@ -41,10 +41,10 @@ variations: default: true env: MLC_EXTRACT_REMOVE_EXTRACTED: 'no' - no-remove-extracted: + remove-extracted: group: keep env: - MLC_EXTRACT_REMOVE_EXTRACTED: 'no' + MLC_EXTRACT_REMOVE_EXTRACTED: 'yes' path.#: env: MLC_EXTRACT_FILEPATH: '#' diff --git a/script/get-one-api/COPYRIGHT.md b/script/get-oneapi/COPYRIGHT.md similarity index 100% rename from script/get-one-api/COPYRIGHT.md rename to script/get-oneapi/COPYRIGHT.md diff --git a/script/get-one-api/customize.py b/script/get-oneapi/customize.py similarity index 68% rename from script/get-one-api/customize.py rename to script/get-oneapi/customize.py index 0f6e78b10..5bdd53e64 100644 --- a/script/get-one-api/customize.py +++ b/script/get-oneapi/customize.py @@ -28,26 +28,32 @@ def preprocess(i): 'run_script_input': i['run_script_input'], 'recursion_spaces': recursion_spaces}) if r['return'] > 0: - # Uncomment when MLC script for installing oneapi compiler is integrated - # Initial finding suggests that oneapi could be installed without - # hastle in linux using apt, but is tricky in windows + r = i['automation'].run_native_script( + {'run_script_input': i['run_script_input'], 'env': env, 'script_name': 'install'}) + if r['return'] > 0: + return r + version_prefix = env['MLC_ONEAPI_INSTALL_VERSION_PREFIX'] + env['MLC_TMP_PATH'] = os.path.join(os.getcwd(), "install", version_prefix, "bin") + + + r = i['automation'].find_artifact({'file_name': file_name_c, + 'env': env, + 'os_info': os_info, + 'default_path_env_key': 'PATH', + 'detect_version': True, + 'env_path_key': 'MLC_ICX_BIN_WITH_PATH', + 'run_script_input': i['run_script_input'], + 'recursion_spaces': recursion_spaces}) + if r['return'] > 0: + return r - # if r['return'] == 16: - # if env.get('MLC_TMP_FAIL_IF_NOT_FOUND','').lower() == 'yes': - # return r - # - # print (recursion_spaces+' # {}'.format(r['error'])) - # - # # Attempt to run installer - # r = {'return':0, 'skip':True, 'script':{'tags':'install,gcc,src'}} - return r return {'return': 0} def detect_version(i): - r = i['automation'].parse_version({'match_text': r'oneAPI\s+.*\(([\d.]+)\)', + r = i['automation'].parse_version({'match_text': r'oneAPI\s+.* Compiler\s+([\d+.]+)', 'group_number': 1, 'env_key': 'MLC_ONEAPI_VERSION', 'which_env': i['env']}) @@ -90,6 +96,15 @@ def postprocess(i): env['MLC_ONEAPI_COMPILER_WITH_PATH'] = found_file_path env['MLC_ONEAPI_COMPILER_FLAG_VERSION'] = 'version' + env['MLC_DEPENDENT_CACHED_PATH'] = found_file_path + + list_keys = ['+LD_LIBRARY_PATH'] + for key in list_keys: + if not env.get(key): + env[key] = [] + + env['+LD_LIBRARY_PATH'].append(os.path.join(env['MLC_ONEAPI_INSTALLED_PATH'], "lib")) + # env['MLC_COMPILER_FLAGS_FAST'] = "-O3" # env['MLC_LINKER_FLAGS_FAST'] = "-O3" # env['MLC_COMPILER_FLAGS_DEBUG'] = "-O0" diff --git a/script/get-oneapi/install.sh b/script/get-oneapi/install.sh new file mode 100644 index 000000000..9b9abe4c7 --- /dev/null +++ b/script/get-oneapi/install.sh @@ -0,0 +1,10 @@ +#!/bin/bash +set -e +exit 0 +wget -nc ${MLC_ONEAPI_INSTALL_URL_BASE}/${MLC_ONEAPI_INSTALL_FILENAME} +rm -rf install +mkdir install +cmd="bash ./${MLC_ONEAPI_INSTALL_FILENAME} -a --silent --cli --eula accept --install-dir ${PWD}/install" + +echo $cmd +eval $cmd diff --git a/script/get-one-api/meta.yaml b/script/get-oneapi/meta.yaml similarity index 57% rename from script/get-one-api/meta.yaml rename to script/get-oneapi/meta.yaml index 47cf218b0..653418412 100644 --- a/script/get-one-api/meta.yaml +++ b/script/get-oneapi/meta.yaml @@ -4,6 +4,7 @@ automation_uid: 5b4e0237da074764 cache: true category: Compiler automation clean_files: [] +default_version: 2025.1.1 deps: - tags: detect,os name: Detect or install OneAPI compiler @@ -12,6 +13,8 @@ new_env_keys: - MLC_ONEAPI_COMPILER_* - MLC_COMPILER_* - MLC_LINKER_* +- +PATH +- +LD_LIBRARY_PATH input_mapping: oneapi_dir: MLC_ONEAPI_DIR_PATH @@ -25,6 +28,15 @@ tags: - compiler - get-oneapi uid: 1af872e81ef54742 + +versions: + 2025.1.1: + env: + MLC_ONEAPI_INSTALL_URL_BASE: https://registrationcenter-download.intel.com/akdlm/IRC_NAS/6bfca885-4156-491e-849b-1cd7da9cc760 + MLC_ONEAPI_INSTALL_FILENAME: intel-oneapi-base-toolkit-2025.1.1.36_offline.sh + MLC_ONEAPI_INSTALL_VERSION_PREFIX: '2025.1' + MLC_VERSION: '2025.1.1' + variations: path.#: env: diff --git a/script/get-one-api/run.bat b/script/get-oneapi/run.bat similarity index 100% rename from script/get-one-api/run.bat rename to script/get-oneapi/run.bat diff --git a/script/get-one-api/run.sh b/script/get-oneapi/run.sh similarity index 100% rename from script/get-one-api/run.sh rename to script/get-oneapi/run.sh From b9b7f457edd8f7c3f866fc1d1fb9d23307c97b45 Mon Sep 17 00:00:00 2001 From: "github-actions[bot]" Date: Wed, 14 May 2025 13:29:36 +0000 Subject: [PATCH 2/3] [Automated Commit] Format Codebase [skip ci] --- script/get-oneapi/customize.py | 29 ++++++++++++++--------------- 1 file changed, 14 insertions(+), 15 deletions(-) diff --git a/script/get-oneapi/customize.py b/script/get-oneapi/customize.py index 5bdd53e64..9ad62e0b8 100644 --- a/script/get-oneapi/customize.py +++ b/script/get-oneapi/customize.py @@ -29,26 +29,24 @@ def preprocess(i): 'recursion_spaces': recursion_spaces}) if r['return'] > 0: r = i['automation'].run_native_script( - {'run_script_input': i['run_script_input'], 'env': env, 'script_name': 'install'}) + {'run_script_input': i['run_script_input'], 'env': env, 'script_name': 'install'}) if r['return'] > 0: return r version_prefix = env['MLC_ONEAPI_INSTALL_VERSION_PREFIX'] - env['MLC_TMP_PATH'] = os.path.join(os.getcwd(), "install", version_prefix, "bin") - + env['MLC_TMP_PATH'] = os.path.join( + os.getcwd(), "install", version_prefix, "bin") r = i['automation'].find_artifact({'file_name': file_name_c, - 'env': env, - 'os_info': os_info, - 'default_path_env_key': 'PATH', - 'detect_version': True, - 'env_path_key': 'MLC_ICX_BIN_WITH_PATH', - 'run_script_input': i['run_script_input'], - 'recursion_spaces': recursion_spaces}) + 'env': env, + 'os_info': os_info, + 'default_path_env_key': 'PATH', + 'detect_version': True, + 'env_path_key': 'MLC_ICX_BIN_WITH_PATH', + 'run_script_input': i['run_script_input'], + 'recursion_spaces': recursion_spaces}) if r['return'] > 0: return r - - return {'return': 0} @@ -102,9 +100,10 @@ def postprocess(i): for key in list_keys: if not env.get(key): env[key] = [] - - env['+LD_LIBRARY_PATH'].append(os.path.join(env['MLC_ONEAPI_INSTALLED_PATH'], "lib")) - + + env['+LD_LIBRARY_PATH'].append(os.path.join( + env['MLC_ONEAPI_INSTALLED_PATH'], "lib")) + # env['MLC_COMPILER_FLAGS_FAST'] = "-O3" # env['MLC_LINKER_FLAGS_FAST'] = "-O3" # env['MLC_COMPILER_FLAGS_DEBUG'] = "-O0" From 2ee85ff567d1957f2bda597d4e799ba8fbad2fe3 Mon Sep 17 00:00:00 2001 From: Arjun Date: Wed, 14 May 2025 19:07:40 +0530 Subject: [PATCH 3/3] Fix typo --- script/get-oneapi/install.sh | 1 - 1 file changed, 1 deletion(-) diff --git a/script/get-oneapi/install.sh b/script/get-oneapi/install.sh index 9b9abe4c7..ef2039e43 100644 --- a/script/get-oneapi/install.sh +++ b/script/get-oneapi/install.sh @@ -1,6 +1,5 @@ #!/bin/bash set -e -exit 0 wget -nc ${MLC_ONEAPI_INSTALL_URL_BASE}/${MLC_ONEAPI_INSTALL_FILENAME} rm -rf install mkdir install