1. A computer-implemented method for executing a multi-threaded program on a general purpose processor, the method comprising: translating the multi-threaded program into an intermediate representation including at least one parallel function; partitioning each parallel function within the intermediate representation into at least one operation group; classifying each operation group as either scalar or vectorizable; transforming each vectorizable operation group into vector instructions corresponding to computations performed by two or more threads when executing the multi-threaded program; binding each of one or more intrinsic functions included within the multi-threaded program to a different runtime implementation corresponding to the intrinsic function; and generating, based on the vector instructions, native executable code for the general purpose processor to process.