1. A method for generating vector instructions, the method comprising: receiving, by a first compiler, source code written in a high-level programming language, wherein the source code comprises at least one high-level instruction that performs multiple operations on a plurality of vector operands; compiling, by the first compiler, the at least one high-level instruction into one or more instructions in an intermediate-level programming language that converts operands into objects of a vector manipulation template class and converts operations into method invocations of the vector manipulation template class; and compiling, by a second compiler, the one or more instructions in the intermediate-level programming language into one or more low-level instructions, wherein the one or more low-level instructions are in an instruction set of a runtime computer architecture, and wherein the compiling the one or more instructions in the intermediate-level programming language comprises selecting a version of the vector manipulation template class that implements vector intrinsics that are specific to the runtime computer architecture, and wherein the first compiler and the second compiler execute on a single computer system.