My opinion would be to use pthreads, for a couple of reasons:
1. You don't need an OMP aware compiler; any old compiler would do.
2. The pthread library is more well adapted and hence might be more optimized than the code emitted from an OMP compiler.
If your operating system is Linux, you may use the clone() system call directly; this would add further optimization at the expense of portability.
On 9/5/06, George Bosilca <email@example.com> wrote:
On Sep 5, 2006, at 3:19 AM, Aidaros Dev wrote:
> Nowdays we hear about intel dual core processor, An Intel dual-core
> processor consists of two complete execution cores in one physical
> processor both running at the same frequency. Both cores share the
> same packaging and the same interface with the chipset/memory.
> Can I use MPI library to communicate these processors? Can we
> consider as they are separated?
Yes and yes. However, these architectures fit better on a different
programming model. If you want to get the max performance out of
them, a OMP approach (instead of MPI) is more suitable. Using
processes on such architecture is just a waste of performance. One
should use a thread model, with locking to insure the coordination
between memory accesses. Or let the underlying libraries do their
magic for you. As an example most of the mathematical codes based on
BLAS can use the GOTO BLAS (developed at TACC) to get multi-code (and
multi-CPU) support for free, as this library will do all BLAS
operation in parallel using multiple threads.
users mailing list
Devil wanted omnipresence;
He therefore created communists.