How to speed up machine learning on a GPU - a new open source platform
Nvidia submitted 3r3244. open source platform Rapids, whose task is to speed up the work of machine learning algorithms on the GPU. We talk about the features of the instrument and its analogues.
3r311. Martin Brigden CC 3r33112. 3r3113.
3r3146. The problem of learning neural networks 3r3r147.
Nvidia’s technology list has a parallel computing architecture called CUDA. Its goal is to speed up computations by transferring part of the GPU tasks instead of the CPU. In some cases, this is allows you to speed up the work of applications and algorithms 18 times.
For this reason, it has found widespread use in machine learning. For example, researchers from universities in Florida and North Carolina develop with it the engine of the neural network 3r3224. for quantum simulations.
A large number of different libraries are used to develop MO algorithms. Many
of them are written in Python . But not all of them support working with CUDA. An example of such tools is the scikit-learn and pandas Python libraries for machine learning. To run Python code in the CUDA architecture, researchers use separate Numba or PyCUDA libraries. In this case, the code of some components is rewrite manually, which is difficult, because you need to know the features of programming for the GPU.
3r3146. Solution from Nvidia
In order to automate the transfer of code, the company Nvidia introduced a new open platform Rapids. Developers do not need to resort to different libraries: they simply write code in Python, and Rapids automatically optimizes it to run on the GPU.
To compare processes, Rapids uses a common database that resides in the memory of the GPU. Data is stored in 3r36161.
format. Apache Arrow, uniform for all platform tools. This solution helps speed up the machine learning process 50 times compared to systems that use both graphics and central processing units.
At the same time, tools are available on the Rapids platform that can be used to conduct the entire process of working with neural networks on a graphics chip: from data preparation to outputting the result.
Number of solutions in 3r371. GitHub Rapids
repositories. actively replenished. For example, there is a library cuDF for data preparation and neural network training, and a 3r375 library. cuML
allows you to develop machine learning algorithms, without going into the details of programming for CUDA.
Nvidia will continue to develop the platform. The creators of the project plan to add tools for data visualization, graph analysis and deep learning to Rapids. Also in program 3r395. integrate 3r32424. Apache Spark framework.
3r3146. What think of the platform 3r3147.
In the technology community, the Rapids release was supported, but its further development caused several questions from experts and users.
For example, managers of Cisco, Dell, NetApp, Lenovo and other companies expressed support for the new solution. Anaconda CEO Scott Collison said that Rapids will simplify the collection and preparation of data for training complex AI systems. The creator of Apache Arrow and pandas Wes McKinney (Wes McKinney) agrees. According to him, Rapids will lead to an increase in productivity in tasks related to the creation of features ( Feature engineering ).
[i] /photo 3r3108. Sander van der Wel
However, the community also has 3r3118. There is an opinion 3r32424. that Rapids cannot be considered a truly open source project. The system only works with Nvidia cards, and the release of the platform can be a marketing ploy to attract new customers. The company has not yet specified whether the platform will work with devices from other manufacturers.
3r3146. Who is already using Rapids
IBM 3r3128. plans to
implement the platform in services for working with artificial intelligence systems: PowerAI, Watson and IBM Cloud. Support for Rapids has also been announced by Oracle, the 3-3-33130 platform. Available
on the Oracle Cloud infrastructure.
New product Nvidia also tested Walmart and Uber. The first rapids helped improve algorithms of the system responsible for inventory management. By 3r3138. According to 3r324. representatives of the retailer, Rapids accelerated the development of machine learning algorithms. As for Uber, the company 3r3-3140. uses
Rapids in the development of systems of unmanned vehicles.
3r3146. Alternative Solution 3r3147.
Not only Nvidia is developing a platform to accelerate MO. For example, AMD is engaged in the project 3r3-3150. ROCm 3r33224. (Radeon Open Compute). This is an open platform for high performance GPU computing.
The peculiarity of ROCm is that it does not depend on the programming language and is able to work with almost any video card. Including with Nvidia cards. For this used A special C ++ dialect called HIP. It simplifies the conversion of CUDA applications into portable C ++ code. The code is converted automatically by a special system Hipify.
At the same time ROCm 3r3162. supports
A large number of libraries Math Acceleration Libraries. Among them are BLAS, FFT and 3r3r164. convolution of the tensor
IT industry experts point out that open source solutions for accelerating heterogeneous and GPU computing, like ROCm and Rapids, allow developers to more efficiently use computing resources and get more performance from the available hardware.
P.S. Some materials from the First corporate IaaS blog:
3r3184. How IaaS helps grow a business: three tasks that the
cloud will solve.
3r3189. The effect of the GDPR: how the new regulations affected the IT ecosystem 3r3224.
3r3194. "How is VMware doing?": 3r32424 review of solutions.
P.P.S. Briefly about IaaS-technologies - in ours 3r3204. Telegram channel
NetApp from A to Z: a review of vendor technology
Why a good IaaS provider does not build its data center
What else VMware has: virtualization tools
It may be interesting
Situs QQ Online
Situs QQ Online