In this new chapter, we will continue our exploration with GPUs while specifically focusing on user accessibility. You will learn about different environments to choose from when setting up a GPU-based programmable platform. These environments will be compared and discussed to help you decide on the most suitable one pertaining to usability and different situations or conditions. Following this, system-wide and virtual environments will be explained. Their advantages and disadvantages will also be explored.
Virtualenv, which is similar to Conda, will be discussed as an example of a closed environment separate from the base system. We will also look at a scenario where both system-wide and Virtualenv packages can co-exist and work together when accessed from a virtual environment.
Exploring further, containers such as Docker and Kubernetes will be introduced. Local and cloud-based containers will be discussed and compared. Both Docker and Kubernetes will be studied, both as local and cloud containers. The installation process for both will be elaborated step by step. NVIDIA Docker and ROCm Docker will be discussed with hands-on examples. As a great example of a Jupyter Notebook-style cloud container, Google Colabolatory will be discussed in detail in the cloud containers' section.
This chapter will take you through the following topics:
- Programmable environments
- Open-ended environments
- Closed environments
- Local containers
- Cloud containers