|
Effective computing requires the design, analysis, implementation, and evaluation
of algorithms to solve problems of interest. Computational problems come from
a wide variety of areas including science, engineering, business, athletics, architecture,
medicine, management, economics, psychology, anthropology, and entertainment,
to name a few. In addition, exciting new challenges exist in the field of
computational science and engineering, which is the “third science,” complementing
both theoretical and laboratory science. Computational science and engineering unites
computer science and mathematics with disciplinary expertise in biology, chemistry,
physics, and other applied scientific and engineering fields. Multidisciplinary efforts
in these STEM (Science, Technology, Engineering, and Mathematics) areas typically
require efficient algorithms that run on high- performance computers in order to perform
simulation and modeling of physical and human environments.
With current technology, it is difficult to increase significantly the density of
computer chips, and, hence, the inherent speed of a traditional computer processor.
Since there continues to be a demand for increased computing power, state-of-theart
computer systems are now being designed around architectures that consist of
multiple processing units. That is, computing systems are currently being constructed
based on multiple processors and/or processors with multiple cores. In
fact, it is quite difficult to find even a consumer-based compute system that does
not consist of multiple processing units. This includes desktops, laptops, netbooks,
tablets, smart phones, gaming systems, and high-end computing systems. In
fact, many of these systems contain Graphics Processing Units (GPUs) that consist
of numerous processors targeted at enhancing a gaming and visualization
environment. |