With a tensor language prototype, “speed and correctness do not have to contend … they can go alongside one another, hand-in-hand.”
High-functionality computing is required for an at any time-rising variety of duties — these kinds of as graphic processing or several deep studying purposes on neural nets — the place a person ought to plow by means of immense piles of info, and do so fairly quickly, or else it could just take absurd amounts of time. It is widely thought that, in carrying out operations of this sort, there are unavoidable trade-offs between velocity and reliability. If velocity is the top precedence, in accordance to this watch, then dependability will most likely suffer, and vice versa.
Nonetheless, a staff of researchers, based predominantly at A Tensor Language” (ATL), last month at the Principles of Programming Languages conference in Philadelphia.
“Everything in our language,” Liu says, “is aimed at producing either a single number or a tensor.” Tensors, in turn, are generalizations of vectors and matrices. Whereas vectors are one-dimensional objects (often represented by individual arrows) and matrices are familiar two-dimensional arrays of numbers, tensors are n-dimensional arrays, which could take the form of a 3x3x3 array, for instance, or something of even higher (or lower) dimensions.
The whole point of a computer algorithm or program is to initiate a particular computation. But there can be many different ways of writing that program — “a bewildering variety of different code realizations,” as Liu and her coauthors wrote in their soon-to-be published conference paper — some considerably speedier than others. The primary rationale behind ATL is this, she explains: “Given that high-performance computing is so resource-intensive, you want to be able to modify, or rewrite, programs into an optimal form in order to speed things up. One often starts with a program that is easiest to write, but that may not be the fastest way to run it, so that further adjustments are still needed.”
As an example, suppose an image is represented by a 100×100 array of numbers, each corresponding to a … Read More...Read More