def _setup_recipe(): # for DAI 1.7.0 one is required to run this function manually # in DAI >=1.7.1, this function will be run by DAI itself import os from h2oaicore.systemutils_more import extract, download from h2oaicore.systemutils import config, remove from h2oaicore.systemutils import user_dir import shutil from h2oaicore.systemutils_more import arch_type # don't remove this import, setup_recipe parsed-out separately return True # WIP: Disable daal for now in general, just leave recipe floating there for migration purposes if arch_type == "ppc64le": if config.hard_asserts: # in CI testing just ignore return True else: # for user use, raise raise RuntimeError("Cannot use daal on PPC") daal_is_installed_path = os.path.join( user_dir(), config.contrib_env_relative_directory, "daal") daal_is_installed_file = os.path.join(daal_is_installed_path, "daal_is_installed") if not os.path.isfile(daal_is_installed_file): daal_temp_path = os.path.join(user_dir(), config.contrib_relative_directory, "daal") os.makedirs(daal_temp_path, exist_ok=True) prefix = "https://anaconda.org/intel" try: file1 = download( "%s/daal4py/2021.2.0/download/linux-64/daal4py-2021.2.0-py38_intel_358.tar.bz2" % prefix, dest_path=daal_temp_path) file2 = download( "%s/impi_rt/2021.2.0/download/linux-64/impi_rt-2021.2.0-intel_215.tar.bz2" % prefix, dest_path=daal_temp_path) file3 = download( "%s/daal/2021.2.0/download/linux-64/daal-2021.2.0-intel_358.tar.bz2" % prefix, dest_path=daal_temp_path) file4 = download( "https://github.com/intel/daal/releases/download/2019_u4/l_daal_oss_p_2019.4.007.tgz", dest_path=daal_temp_path) except: file1 = download( "https://0xdata-public.s3.amazonaws.com/daal4py-2019.4-py36h7b7c402_6.tar.bz2", dest_path=daal_temp_path) file2 = download( "https://0xdata-public.s3.amazonaws.com/impi_rt-2019.4-intel_243.tar.bz2", dest_path=daal_temp_path) file3 = download( "https://0xdata-public.s3.amazonaws.com/daal-2019.4-intel_243.tar.bz2", dest_path=daal_temp_path) file4 = download( "https://0xdata-public.s3.amazonaws.com/l_daal_oss_p_2019.4.007.tgz", dest_path=daal_temp_path) temp_path = os.path.join(user_dir(), config.contrib_env_relative_directory, "info") os.makedirs(temp_path, exist_ok=True) python_site_packages_path = os.path.join( user_dir(), config.contrib_env_relative_directory) extract(file1, python_site_packages_path) python_site_packages_path2 = os.path.join( user_dir(), config.contrib_env_relative_directory) extract(file2, python_site_packages_path2) extract(file3, python_site_packages_path2) extract(file4, python_site_packages_path2, "gz") other_path = os.path.join(python_site_packages_path2, "lib/libfabric/") import glob for file in glob.glob(os.path.join(other_path, "*.so*")): new_file = os.path.join(python_site_packages_path2, "lib", os.path.basename(file)) if not os.path.isfile(new_file): shutil.copy(file, new_file) other_path = os.path.join( python_site_packages_path2, "l_daal_oss_p_2019.4.007/daal_prebuild/linux/tbb/lib/intel64_lin/gcc4.4/" ) import glob for file in glob.glob(os.path.join(other_path, "*.so*")): new_file = os.path.join(python_site_packages_path2, "lib", os.path.basename(file)) if not os.path.isfile(new_file): shutil.copy(file, new_file) os.makedirs(daal_is_installed_path, exist_ok=True) with open(daal_is_installed_file, "wt") as f: f.write("DONE") remove(file1) remove(file2) remove(file3) remove(file4) return True
def _setup_recipe(): # for DAI 1.7.0 one is required to run this function manually # in DAI >=1.7.1, this function will be run by DAI itself import os from h2oaicore.systemutils_more import extract, download from h2oaicore.systemutils import config import shutil daal_is_installed_path = os.path.join( config.data_directory, config.contrib_env_relative_directory, "daal") daal_is_installed_file = os.path.join(daal_is_installed_path, "daal_is_installed") if not os.path.isfile(daal_is_installed_file): daal_temp_path = os.path.join(config.data_directory, config.contrib_relative_directory, "daal") os.makedirs(daal_temp_path, exist_ok=True) prefix = "https://anaconda.org/intel" file1 = download( "%s/daal4py/2019.4/download/linux-64/daal4py-2019.4-py36h7b7c402_6.tar.bz2" % prefix, dest_path=daal_temp_path) file2 = download( "%s/impi_rt/2019.4/download/linux-64/impi_rt-2019.4-intel_243.tar.bz2" % prefix, dest_path=daal_temp_path) file3 = download( "%s/daal/2019.4/download/linux-64/daal-2019.4-intel_243.tar.bz2" % prefix, dest_path=daal_temp_path) file4 = download( "https://github.com/intel/daal/releases/download/2019_u1.1/l_daal_oss_p_2019.1.004.tgz", dest_path=daal_temp_path) temp_path = os.path.join(config.data_directory, config.contrib_env_relative_directory, "info") os.makedirs(temp_path, exist_ok=True) python_site_packages_path = os.path.join( config.data_directory, config.contrib_env_relative_directory) extract(file1, python_site_packages_path) python_site_packages_path2 = os.path.join( config.data_directory, config.contrib_env_relative_directory) extract(file2, python_site_packages_path2) extract(file3, python_site_packages_path2) extract(file4, python_site_packages_path2, "gz") other_path = os.path.join(python_site_packages_path2, "lib/libfabric/") import glob for file in glob.glob(os.path.join(other_path, "*.so*")): new_file = os.path.join(python_site_packages_path2, "lib", os.path.basename(file)) if not os.path.isfile(new_file): shutil.copy(file, new_file) other_path = os.path.join( python_site_packages_path2, "l_daal_oss_p_2019.1.004/daal_prebuild/linux/tbb/lib/intel64_lin/gcc4.4/" ) import glob for file in glob.glob(os.path.join(other_path, "*.so*")): new_file = os.path.join(python_site_packages_path2, "lib", os.path.basename(file)) if not os.path.isfile(new_file): shutil.copy(file, new_file) os.makedirs(daal_is_installed_path, exist_ok=True) with open(daal_is_installed_file, "wt") as f: f.write("DONE") return True