How is Linux Powering the AI Moment?
A few months ago, NVIDIA open sourced their drivers, starting with R515 for Linux. This solves one big problem of getting up and running a Linux system powered by an NVIDIA card. However, with users requesting this for years, what made NVIDIA finally open source them? The answer is simple. Most developers use Linux and drivers are the most stressful part of using the NVIDIA GPU. Not just developers, you will even find many big tech companies, including OpenAI and Google, rely on Linux to build their AI platform. TensorFlow, one of the most popular AI development libraries by Google, is best compatible with Ubuntu, a well-known Linux distribution. On Windows, however, you’ll need to use WSL (Windows Subsystem for Linux), which essentially acts as a virtual machine for running Linux. Even Google DeepMind, one of the leading AI research labs, previously used a modified version of Ubuntu, called Goobuntu, but later switched to Debian testing. These are both Linux-based operating systems. Further, IBM’s Watson, known for its natural language processing and machine learning capabilities, runs on SUSE Linux Enterprise Server. CUDA Performs Better on Linux It might come as a surprise, but many users have reported that CUDA performs better on Linux than Windows. Mike Mikowski, the manager of the Kubuntu Focus project, mentioned that NVIDIA GPU drivers are almost not faster on Windows, especially for deep learning solutions which use CUDA and OpenCL interfaces. NVIDIA has been using Ubuntu exclusively to demonstrate deep learning on all their edge solutions, which suggests Linux performs better for deep learning tasks compared to Windows. Meanwhile, a Reddit user reported that when he used CUDA on the same hardware but with different operating systems, including Windows and Ubuntu, the latter performed better. A reason behind this performance gain is Linux has a better GPU command scheduling than Windows. Linux Makes AI Dev Environment Setup a Breeze Despite the fact that Linux has a limited choice of software, you will find that a majority of AI developers use Linux. The key reason behind this is how well the software libraries are available and work well with Linux. For example, getting CUDA and CuDNN up and running is a hassle and not a seamless process on Windows. Compared to that, on Linux, everything can be managed via package manager without any issues. This is one of the reasons why most software development libraries and tools make their way to Linux first. A Reddit user, while answering why everyone uses Linux, mentioned that installing and setting up development software on Linux is a breeze thanks to a healthy array of package managers. “On Ubuntu or Debian-based systems, apt has most of what one will need to set a machine up. That, coupled with Conda, pip, and perhaps some additional software… it’s fast to install new libraries and programs, and dependencies are handled automatically,” he added further. Linux being a versatile operating system matches the target production system in most cases as most production workloads are based on Linux. A user on Stack Overflow mentioned that CUDA performs better on Linux, stating, “If you are looking at a performance point of view, and the time taken for a build, it would be best to use Linux.” When you combine better performance with CUDA and the ease of configuring the development environment, that too with other benefits like security, large community and support, there’s no doubt that Linux is powering the AI moment.
NVIDIA has been using Ubuntu exclusively to demonstrate deep learning on all its edge solutions which suggests Linux performs better for deep learning tasks.
NVIDIA has been using Ubuntu exclusively to demonstrate deep learning on all its edge solutions which suggests Linux performs better for deep learning tasks.
["Linux", "NVIDIA"]
["CUDA", "Go", "machine learning", "OpenAI", "AI", "ML", "Ray", "deep learning", "Linux", "NVIDIA", "TensorFlow", "R"]
["AI", "machine learning", "ML", "deep learning", "OpenAI", "Ray", "TensorFlow", "CUDA", "R", "Go"]
A software engineer who loves to experiment with new-gen AI. He also happens to love testing hardware and sometimes they crash. While reviving his crashed system, you can find him reading literature, manga, or watering plants.