Thinking in Parallel: End-User Parallel Programming (EUPP) of Multi-Core Computers
Modern CPUs come with multiple execution units (Cores) (2 - 1000+) on a chip. These chips are being used to build notebook, desktop, server, data center computers as well as embedded systems. There is an urgent need to develop the programming and development tools and infrastructures that can be used by even non-professional programmers to leverage the resources and opportunities provided by these advanced and sophisticated computers. The End-User Parallel Programming Project (EUPP) is one attempt to address this need.