High-performance computing is essential for tasks that require fast processing of huge amounts of data, such as training neural networks. Many programmers believe that the accuracy of the results will inevitably suffer as the speed increases, and vice versa, but one group of American engineers proves that it is possible to provide both at the same time.
Employees of the Massachusetts Institute of Technology in the USA (MIT) and the University of California are developing a new programming language for high-performance computers. Writes about this publication ScienceTechDaily. They wrote the so-called "tensor" programming language (A Tensor Language or ATL for short), which should speed up calculations while maintaining high reliability. PhD student Amanda Liu from MIT explained that the language is focused on creating either a single number or a tensor, which are generalizations of vectors and matrices. If vectors are one-dimensional objects and matrices are two-dimensional arrays of numbers, then tensors are multidimensional arrays, for example, they can take the form 3x3x3.
The whole point of a computer program is to perform a specific calculation, but there can be many ways to write it or implement code - and some are much faster than others. The main advantage of ATL is the ability to modify or rewrite programs in an optimal form to speed up work. For example, the tensor language helps transform a two-step process into a one-step process. Often programmers start with the program that is easiest to write, but this may not be the fastest way to solve problems due to further adjustments. Scientists said that ATL is based on the existing Coq programming language with a built-in assistant, capable of checking the effectiveness of the algorithm using strict mathematical methods. Another useful feature of this language is the fact that programs written in it always terminate and cannot get stuck in an infinite loop, as is the case with Java.
computers #Information technologies Roman Barsky February 18, 2022, 09:24 9317 1 What is known about the "tensor" programming language? Why would a tensor approach make programs both fast and accurate? High-performance computing is essential for tasks that require fast processing of huge amounts of data, such as training neural networks. Many programmers believe that the accuracy of the results will inevitably suffer as the speed increases, and vice versa, but one group of American engineers proves that it is possible to provide both at the same time. Employees of the Massachusetts Institute of Technology in the USA (MIT) and the University of California are developing a new programming language for high-performance computers. Writes about this publication ScienceTechDaily. They wrote the so-called "tensor" programming language (A Tensor Language or ATL for short), which should speed up calculations while maintaining high reliability. PhD student Amanda Liu from MIT explained that the language is focused on creating either a single number or a tensor, which are generalizations of vectors and matrices. If vectors are one-dimensional objects and matrices are two-dimensional arrays of numbers, then tensors are multidimensional arrays, for example, they can take the form 3x3x3. The whole point of a computer program is to perform a specific calculation, but there can be many ways to write it or implement code - and some are much faster than others. The main advantage of ATL is the ability to modify or rewrite programs in an optimal form to speed up work. For example, the tensor language helps transform a two-step process into a one-step process. Often programmers start with the program that is easiest to write, but this may not be the fastest way to solve problems due to further adjustments. Scientists said that ATL is based on the existing Coq programming language with a built-in assistant, capable of checking the effectiveness of the algorithm using strict mathematical methods. Another useful feature of this language is the fact that programs written in it always terminate and cannot get stuck in an infinite loop, as is the case with Java. “A program that never terminates would be useless for us, but termination is what we are guaranteed to get using Coq,” explained Amanda Liu. The team noted that ATL is still only a prototype, although very promising. In the future, developers plan to improve the scalability of the language so that it can be used to write or adapt more complex existing programs. In the past, the optimization of such algorithms was mostly done manually, which led to a large number of errors, but ATL is able to simplify and automate the process.