for (i=0; i<8000 ;i++) { BLOCK1 { .. .. .. subroutine 1; subroutine 2; } } I want this to be run in parallel BLOCK1 process1 { ... ... subroutine 1; subroutine 2; } BLOCK1 process2 { .... .... subroutine 1; subroutine 2; } ... ... BLOCK1 process8000 { .... .... subroutine 1; subroutine 2; }