📜 ⬆️ ⬇️

Graphic processors in solving modern IT problems



Graphics processors (GPUs) are a prime example of how technology designed for graphics processing has spread to an unrelated area of ​​high performance computing. Modern GPUs are the heart of many complex projects in the field of machine learning and data analysis. In our review article, we will describe how Selectel customers use equipment with a GPU, and think about the future of data science and computing devices, along with teachers from the Yandex Data Analysis School.

Graphics processors over the past ten years have changed a lot. In addition to the enormous performance gains, there was a separation of devices by type of use. So, video cards for home gaming systems and virtual reality installations stand out in a separate direction. Powerful, highly specialized devices are emerging: for server systems, one of the leading accelerators is the NVIDIA Tesla P100 , designed specifically for industrial use in data centers. In addition to the GPU, research is actively conducted in the field of creating a new type of processors that imitate the brain. An example is the Kirin 970 single-chip platform with its own neuromorphic processor for tasks related to neural networks and pattern recognition.

This situation makes you think about the following questions:
')

Let's try to deal with these issues in order, starting with the first simple video processors and ending with modern high-performance devices.

GPU Era


First, remember what a GPU is. The Graphics Processing Unit is a graphics processor widely used in desktop and server systems. A distinctive feature of this device is its focus on massively parallel computing. Unlike GPUs, the architecture of another CPU (Central Processor Unit) computing module is designed for serial data processing. If the number of cores in a conventional CPU is measured in dozens, then in the GPU they are counted in thousands, which imposes restrictions on the types of commands executed, but provides high computational performance in tasks involving parallelism.

The first steps


The development of video processors in the early stages was closely associated with the growing need for a separate computing device for processing two and three-dimensional graphics. Before the appearance of separate video controller circuits in the 70s, image output was carried out through the use of discrete logic, which affected the increased power consumption and large sizes of printed circuit boards. Specialized chips allowed to allocate the development of devices designed to work with graphics, in a separate direction.

The next revolutionary event was the emergence of a new class of more complex and multifunctional devices - video processors. In 1996, 3dfx Interactive released the Voodoo Graphics chipset, which quickly occupied 85% of the market for specialized video devices and became the leader in 3D graphics at the time. After a series of unsuccessful decisions of the company's management, among which was the purchase of a manufacturer of video cards STB, 3dfx gave way to NVIDIA and ATI (later AMD), and in 2002 declared bankruptcy.

General GPU Computing


In 2006, NVIDIA announced the launch of the GeForce 8 series product line, which marked the beginning of a new class of devices designed for general computing on graphics processors (GPGPU). During development, NVIDIA realized that a larger number of cores operating at a lower frequency are more efficient for parallel loads than a small number of more productive cores. Video processors of the new generation provided support for parallel computing, not only for processing video streams, but also for problems related to machine learning, linear algebra, statistics, and other scientific or commercial problems.



Recognized leader


Differences in the initial formulation of tasks for the CPU and GPU led to significant discrepancies in the architecture of devices - high frequency versus multi-core. For GPUs, this laid the computational potential, which is currently being fully realized. Video processors with an impressive amount of weaker computational cores do an excellent job with parallel computing. The central processor, historically designed to work with sequential tasks, remains the best in its field.

For example, let us compare the values ​​in the performance of the central and graphic processor on the performance of a common task in neural networks — multiplication of high order matrices. Choose the following devices for testing:


We use the example of calculating the multiplication of matrices on the CPU and GPU in Jupyter Notebook:



In the code above, we measure the time it took to calculate matrices of the same order on a central or graphics processor (“Runtime”). Data can be represented as a graph, on which the horizontal axis displays the order of the matrixes being multiplied, and the vertical axis - Runtime in seconds:



The line of the graph, highlighted in orange, shows the time it takes to create data in ordinary RAM, transfer it to the GPU memory, and subsequent calculations. The green line shows the time it takes to calculate the data that has already been generated in the video card's memory (without transferring it from RAM). Blue displays the counting time on the central processor. Matrices of the order of less than 1000 elements are multiplied by the GPU and the CPU in almost the same time. The difference in performance is well manifested with matrices larger than 2000 by 2000, when the computing time on the CPU jumps to 1 second, and the GPU remains close to zero.

More complex and practical tasks are more effectively solved on the device with graphic processors than without them. Since the problems that our clients solve on GPU equipment are very diverse, we decided to find out which most popular usage scenarios exist.

Who in Selectel lives well with the GPU?


The first option, which immediately comes to mind and turns out to be a correct guess, is mining, however, it is curious to note that some people use it as an auxiliary way to load equipment to "maximum". In case of renting a dedicated server with video cards, the time free from workloads is used to mine cryptocurrencies that do not require specialized installations (farms) to receive.

The tasks that have already become somewhat classical, associated with graphic processing and rendering, invariably find their place on the Selectel servers with graphic accelerators. The use of high-performance equipment for such tasks allows you to get a more efficient solution than the organization of dedicated workstations with video cards.

During the conversation with our customers, we also met with representatives of the Yandex Data Analysis School, which uses the power of Selectel to organize test training environments. We decided to learn more about what students and teachers do, what machine learning directions are popular now, and what future awaits the industry after young professionals join the ranks of employees of leading organizations or launch their start-ups.

Data science


Perhaps, among our readers there will not be those who would not have heard the phrase “neural networks” or “machine learning”. Rejecting marketing variations on the theme of these words, it turns out a dry residue in the form of an emerging and promising data science.

The modern approach to working with data includes several main areas:



The boundary between the direction data is gradually erased: the main tools for working with big data (Hadoop, Spark) introduce support for GPU computing, and machine learning tasks cover new areas and require more data. Teachers and students of the School of Data Analysis will help us to understand more.



It is difficult to overestimate the importance of competent data manipulation and the appropriate implementation of advanced analytical tools. It is not even about big data, their “lakes” or “rivers”, but about intellectual interaction with information. What is happening now represents a unique situation: we can collect a wide variety of information and use advanced tools and services for in-depth analysis. The business introduces such technologies not only to obtain advanced analytics, but also to create a unique product in any industry. It is the last point that largely forms and stimulates the growth of the data analysis industry.

New direction


Everywhere we are surrounded by information: from the logs of Internet companies and banking operations to the readings in experiments at the Large Hadron Collider. The ability to work with this data can bring millions of profits and provide answers to fundamental questions about the structure of the Universe. Therefore, data analysis has become a separate area of ​​research among the business and scientific community.

The school of data analysis prepares the best specialized specialists and scientists who in the future will become the main source of scientific and industrial developments in this field. The development of the industry affects us as an infrastructure provider - more and more customers are requesting server configurations for data analysis tasks.

The specifics of the tasks facing our customers determine which equipment we must offer our customers and in what direction our product line should be developed. Together with Stanislav Fedotov and Oleg Ivchenko, we interviewed students and teachers of the School for Data Analysis and found out what technologies they use to solve practical problems.



Data Analysis Technologies


During training, students from the basics (basic higher mathematics, algorithms and programming) reach the most advanced areas of machine learning. We collected information on those that use servers with GPUs:


Students use specialized tools in their study assignments and research. Some libraries are designed to bring data to the desired form, others are designed to work with a specific type of information, such as text or images. Depth learning is one of the most difficult areas in data analysis that makes extensive use of neural networks. We decided to find out what kind of framework teachers and students use to work with neural networks.



The presented tools have different support from the creators, but nevertheless, continue to be actively used for training and working purposes. Many of them require productive equipment to handle tasks in adequate time.

Further development and projects


As with any science, the direction of data analysis will change. The experience that students receive today will undoubtedly become the basis for future developments. Therefore, it is worth noting separately the high practical orientation of the program - some students, during their studies or after, begin internships at Yandex and apply their knowledge already on real services and services (search, computer vision, speech recognition and others).

We talked about the future of data analysis with the teachers of the School of Data Analysis, who shared with us their vision of the development of data science.

According to Vlad Shakhuro , a teacher of the course “Image and Video Analysis”, the most interesting tasks in computer vision are to provide security in crowded places, control an unmanned vehicle and create an application using augmented reality. To solve these problems, it is necessary to be able to qualitatively analyze video data and develop, first and foremost, algorithms for detecting and tracking objects, recognizing a person by face, and three-dimensional reconstruction of the observed scene. Lecturer Viktor Lempitsky , who leads the course “Depth Education”, separately highlights auto-encoders, as well as generative and adversary networks.

One of the mentors of the School of Data Analysis shares his opinion on the distribution and the beginning of the mass use of machine learning:

“Machine learning from the lot of the few obsessed researchers is turning into another tool of an ordinary developer. Earlier (for example, in 2012), people wrote low-level code for learning convolutional networks on a pair of video cards. Now, anyone can in a matter of hours:


Many large companies and startups have already won on such a strategy (for example, Prisma), but even more tasks are yet to be discovered and solved. And, perhaps, this whole story with machine / deep learning will someday become as commonplace as python or excel is now. ”

According to Oleg Ivchenko , administrator of the server infrastructure of the database, for standard deep learning tasks on standard data sets (for example, CIFAR, MNIST) the following resources are required:


Accurately predict the technology of the future today, no one can, but when there is a certain motion vector, you can understand what should be studied now. And there are a lot of opportunities for this in the modern world.

Opportunities for beginners


The study of data analysis is limited to high requirements for students: extensive knowledge in the field of mathematics and algorithms, the ability to program. Truly serious machine learning tasks require the availability of specialized equipment. And for those who want to learn more about the theoretical component of data science, the School of Data Analysis, together with the Higher School of Economics , launched an online course on Introduction to Machine Learning .

Instead of conclusion


The growth of the graphics processor market is supported by the growing interest in the capabilities of such devices. GPU is used in home gaming systems, rendering and video processing tasks, as well as where general high-performance computing is required. The practical application of data mining tasks will penetrate deeper into our daily lives. And the implementation of such programs is most effectively carried out with the help of the GPU.

We thank our customers, as well as teachers and students of the School of Data Analysis for the joint preparation of the material, and invite our readers to get to know them better .

We are experienced and experienced in machine learning, data analysis and not only we offer to look at offers from Selectel for renting server equipment with graphic accelerators: from simple GTX 1080 to Tesla P100 and K80 for the most demanding tasks.

Source: https://habr.com/ru/post/417721/


All Articles