Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.
공지
FPGA community forums and blogs on community.intel.com are migrating to the new Altera Community and are read-only. For urgent support needs during this transition, please visit the FPGA Design Resources page or contact an Altera Authorized Distributor.

multiprocessors

Vostok
초급자
831 조회수
How do I get my program to use more than one processor? Is there an environment variable to set?
0 포인트
3 응답
TimP
명예로운 기여자 III
831 조회수
Quoting - Vostok
How do I get my program to use more than one processor? Is there an environment variable to set?
The multi-processing options included in ifort are the auto-parallelization option -parallel, and -openmp (requiring insertion of OpenMP clauses). The number of threads under these options is controlled by OMP_NUM_THREADS, but defaults to all visible logical processors.
ifort also includes cluster openmp, an extension of OpenMP to multiple nodes. Intel MPI is a separate product, supporting several compilers, including ifort.
0 포인트
rreis
새로운 기여자 I
831 조회수
Quoting - Vostok
How do I get my program to use more than one processor? Is there an environment variable to set?

For starting with OpenMP maybe you're interested in this link:

http://software.intel.com/en-us/articles/getting-started-with-openmp

OpenMP is for multicore, shared memory machiness (SMP).

MPI programming is for separated memory machines (like clusters) but it also works in SMP machines. For MPI you need to link to a MPI library (open source: MPICH, OpenMPI, LAM or if you're looking for vendor stuff you can check Intel implementation).

Performance and working in parallel is always more than just turning some "flags on". Stuff like memory, communication and work loads must be thought and it really depends on the type of problem you're trying to solve.

If you're interested in it another good resource (besides looking around here) is cluster monkey at http://www.clustermonkey.net/
0 포인트
Vostok
초급자
831 조회수
Quoting - rreis

For starting with OpenMP maybe you're interested in this link:

http://software.intel.com/en-us/articles/getting-started-with-openmp

OpenMP is for multicore, shared memory machiness (SMP).

MPI programming is for separated memory machines (like clusters) but it also works in SMP machines. For MPI you need to link to a MPI library (open source: MPICH, OpenMPI, LAM or if you're looking for vendor stuff you can check Intel implementation).

Performance and working in parallel is always more than just turning some "flags on". Stuff like memory, communication and work loads must be thought and it really depends on the type of problem you're trying to solve.

If you're interested in it another good resource (besides looking around here) is cluster monkey at http://www.clustermonkey.net/
Thanks for the information in both replies. Yes, simple flagging does not do much for my program. I thought that as long as do-loops are independent, they can be automatically dispatched on several CPUs. It only seems to work for trivial loops.
0 포인트
응답