phonosync
phonosync

Reputation: 23

Intel optimized Python on Machine Learning Service Compute

Is it possible to run a Python script or Estimator step on the Azure Machine Learning Service in a container with the intel optimized Python distribution? I understand this is available on the Azure Data Science VMs (or described here), but I could not find out how to use this as an Azure Machine Learning Service Compute target.

For my current use case I am specifically interested in using an mkl linked numpy package in the aml service container.

Note: Running numpy.show_config() inside the container suggests numpy is linked against openblas and not mkl

blas_mkl_info:
  NOT AVAILABLE
blis_info:
  NOT AVAILABLE
openblas_info:
    libraries = ['openblas', 'openblas']
    library_dirs = ['/usr/local/lib']
    language = c
    define_macros = [('HAVE_CBLAS', None)]
blas_opt_info:
    libraries = ['openblas', 'openblas']
    library_dirs = ['/usr/local/lib']
    language = c
    define_macros = [('HAVE_CBLAS', None)]
lapack_mkl_info:
  NOT AVAILABLE
openblas_lapack_info:
    libraries = ['openblas', 'openblas']
    library_dirs = ['/usr/local/lib']
    language = c
    define_macros = [('HAVE_CBLAS', None)]
lapack_opt_info:
    libraries = ['openblas', 'openblas']
    library_dirs = ['/usr/local/lib']
    language = c
    define_macros = [('HAVE_CBLAS', None)]

Upvotes: 0

Views: 95

Answers (1)

Roope Astala - MSFT
Roope Astala - MSFT

Reputation: 756

The Azure ML base images use Miniconda Python distribution, which uses MKL.

You can find the details of the base images here:https://github.com/Azure/AzureML-Containers

Also, if you install using Anaconda numpy in following way

conda_dep.add_conda_package("numpy")
runconfig.run_config.environment.python.conda_dependencies = conda_dep

you should see this kind of output from numpy.show_config().

blas_mkl_info:

libraries = ['blas', 'cblas', 'lapack', 'pthread', 'blas', 'cblas', 'lapack']

library_dirs = ['/azureml-envs/azureml_a8ad8e485613e21e6e8adc1bfda86b40/lib']

define_macros = [('SCIPY_MKL_H', None), ('HAVE_CBLAS', None)]

include_dirs = ['/azureml-envs/azureml_a8ad8e485613e21e6e8adc1bfda86b40/include']

Upvotes: -1

Related Questions