Two methodologies are widely used for the purpose of parallel programs. They are auto-parallelization compiler and library based software.
Auto parallelization does its work in two fashions. First one is complete automatic compiler which finds the parallelism during the compilation of source code.