Macrotasking: PTFORK, PTJOIN
program MAIN
parameter (nproc=16)
integer tid(nproc), isave(nproc)
character*32 par(nproc)
...
do I = 2, nproc
isave(I)=I
call PTFORK(tid(I),par(I),sub,isave(I))
end do
call sub(1)
...
do I = 2, nproc
call PTJOIN(tid(I))
end do
...
end