Today, the desktop is the focal point of computing in science and engineering, particularly during the early stages of new product or system modeling, simulation, and optimization. The interactivity offered by these tools aid the iterative process of research and discovery. Millions of engineers and scientists have at their disposal a rich set of interactive high-level applications that enable development of custom applications.
These very high-level languages (VHLLs)—e.g., MATLAB, Mathematica, IDL, Excel, Maple, and Python—have largely supplanted Fortran and C as the scientific and engineering tools of choice. These desktop tools make it easy to manipulate high-level objects (e.g., matrices), hiding many of the underlying low-level programming complexities from users. They also support rapid iteration and refinement by enabling an interactive development and execution environment.
In the past decade substantial research has gone into ways to extend these familiar desktop tools to parallel computers, with more than 30 projects focused on MATLAB alone. The approaches have varied significantly in features, performance, and ease of use. Though most have not made it out of academia, several commercial options have emerged.
|