Chapter 5. Compiling OpenACC
Randy Allen, Mentor Graphics
Getting eight independent oxen to work in unison is not simple. However, it is child’s play compared with coordinating a thousand chickens. In either case, the problem is to harness independently operating beasts so that their efforts are coordinated toward achieving a single goal.
Exploiting parallelism—whether for pulling wagons or for speeding up computation—is challenging. At one level, it requires abstract thinking. Understanding the portions of an algorithm that can exploit parallelism—and, for that matter, creating an algorithm that can exploit parallelism—requires that you deal with problems at an abstract level. Gaining abstract understanding and designing algorithms are tasks ...