Clear Linux* OS numpy-mp container image
What is this image?
clearlinux/numpy-mp is a Docker image with parallelizable numpy running on top of the
official clearlinux base image.
It is an optimized and configurable Python-Numpy foundation container with AVX-512 enabled for microservice and FaaS workload for Kubernetes or HPC use cases.
NumPy is the fundamental package for scientific computing with Python. Clear Linux numpy-mp container can set OMP_NUM_THREADS dynamically at runtime to accelerate performance according to assigned computing resources.
For other Clear Linux* OS based container images, see: https://hub.docker.com/u/clearlinux
Why use a clearlinux based image?
Clear Linux* OS is an open source, rolling release Linux distribution optimized for performance and security, from the Cloud to the Edge, designed for customization, and manageability.
Clear Linux* OS based container images use:
- Optimized libraries that are compiled with latest compiler versions and flags.
- Software packages that follow upstream source closely and update frequently.
- An aggressive security model and best practices for CVE patching.
- A multi-staged build approach to keep a reduced container image size.
- The same container syntax as the official images to make getting started easy.
To learn more about Clear Linux* OS, visit: https://clearlinux.org.
Deployment:
Deploy with Docker
The easiest way to get started with this image is by simply pulling it from Docker Hub.
*Note: This container uses the same syntax as the official python image.
-
Pull the image from Docker Hub:
docker pull clearlinux/numpy-mp -
Start a container using the examples below:
docker run -d clearlinux/numpy-mp
OMP Configurations
The OMP parameters for numpy-mp container could be configured via following environment variable.
-
OMP_NUM_THREADS
- Descriptions: Specifies the default number of threads to use in parallel regions. If undefined an optimized value will be set at runtime by docker-entrypoint.sh.
-
OMP_THREAD_LIMIT
- Descriptions: Specifies the number of threads to use for the whole program. If undefined, the number of threads is not limited.
-
OMP_DYNAMIC
- Descriptions: Enable or disable the dynamic adjustment of the number of threads within a team. If undefined, dynamic adjustment is disabled by default.
-
OMP_SCHEDULE
- Descriptions: Allows to specify schedule type and chunk size. If undefined, dynamic scheduling and a chunk size of 1 is used.
-
OMP_NESTED
- Descriptions: Enable or disable nested parallel regions, i.e., whether team members are allowed to create new teams. If undefined, nested parallel regions are disabled by default.
Build and modify:
The Dockerfiles for all Clear Linux* OS based container images are available at https://github.com/clearlinux/dockerfiles. These can be used to build and modify the container images.
-
Clone the clearlinux/dockerfiles repository.
git clone https://github.com/clearlinux/dockerfiles.git -
Change to the directory of the application:
cd numpy-mp/ -
Build the container image:
docker build -t clearlinux/numpy-mp . -
Please refer to create custom application container image on how to customize your container image with specific debug capabilities, such as: make, git.
Refer to the Docker documentation for default build arguments. Additionally:
swupd_args- specifies arguments to pass to the Clear Linux* OS software manager. See the swupd man pages for more information.
Licenses
All licenses for the Clear Linux* Project and distributed software can be found at https://clearlinux.org/terms-and-policies