Automatic optimal use of modern hardware by complex programsBy: ILNumerics GmbH ILNumerics addresses a central problem of modern software development: At the heart of the new technology is a new type of execution scheme that equips programs with a form of artificial intelligence: From an originally linear program, the computational result emerges as a self-organizing structure of hundreds to thousands of parallel executions. Each of these paths makes local decisions in real time that no human developer could ever anticipate at this level of granularity or speed: which resource (CPU, GPU, etc.), which implementation (low-level code) currently promises the fastest completion and which operations should run concurrently. The result: programs that automatically execute optimally – hardware-agnostic and autonomous. Without any time-consuming manual runtime planning complex programs are created much faster and deliver significantly faster results. The technology could initiate a radical change in software development, as it automates entire process chains to optimize speed. Like neurons in the brain, the overall behavior of the program is not created by central control (programmer / scheduler), but emerges collectively - through the cooperation of many, locally meaningful, parallel, autonomous decisions. The software offers an array language compatible with Matlab and NumPy and is available under commercial and non-commercial licenses. It is aimed at application developers in technical domains who work with complex numerical algorithms and array data of any size. In benchmarks, the company presents speed-ups of 3 to 60 times compared to traditional technologies, such as NumPy or FORTRAN, as well as to manually optimized, native codes. (See: https://ilnumerics.net/ ILNumerics opens the perspective to a new generation of self-optimizing software – from laptops to supercomputers. End
|
|