This title looks at architecture-independent programming and automatic parallelization. Building on advances in both areas, the title proposes a unified approach to parallelization of scientific computing code. It is intended for researchers and post graduate students.