Sign in Join

Live chat for Free Pascal, Lazarus, Delphi and every Pascal programmer.

Mailing lists / fpc-devel / 2006-03

FPC and OpenMP support.

4 messages · 2 people · –

Reply by email Subscribe to this list Your subscription

Read-only archive. Use j and k to move between messages.

Alexander Todorov

Hello to all,
are there any parallel code developers in the list?

I will have to work on a mixed mode parallel project using MPI and OpenMP. There are some bindings in pascal for the MPI library which is ok. Does fpc support OpenMP compiler directives? AFAIK no. Is there a known pascal compiler that supports OpenMP?

Integrating such support canbe a great step towards making FPC an industrial class compiler.
This will require a lot of work, that is not in the roadmap for now. What do you think?

here are some related links :
Message Passing Interface
http://www.open-mpi.org/
http://www.lam-mpi.org/
http://www.mpi-forum.org/
http://www-unix.mcs.anl.gov/mpi/

OpenMP :
http://www.openmp.org

TIA.

Reply by email

Daniël Mantione
to Alexander Todorov

Op Thu, 16 Mar 2006, schreef Alexander Todorov:

Hello to all, are there any parallel code developers in the list?

Yes.

I will have to work on a mixed mode parallel project using MPI and OpenMP. There are some bindings in pascal for the MPI library which is ok.

I have a proof of concept conversion of the MPICH headers. However, it is not so easy, since libmpich.a can be located anywhere on the system; there is no Pascal equivalent of mpicc. I haven't decided yet what I'm going to do here.

I have also looked at LAMMPI and OpenMPI, looks like they'll be a piece of cake lust like MPICH, the only caveat is that h2pas chokes at their header files.

Does fpc support OpenMP compiler directives? AFAIK no. Is there a known pascal compiler that supports OpenMP?

I don't plan to put effort in OpenMP support; I don't see the need for an external library to be able to do multithreaded programming. Focus here should be on 100% Pascal implementations.

Also of interrest to HPC users might be the interface to FFTW I committed a while ago. For good HPC support we also would need good interfaces to BLAS & LAPACK, and/or Pascal based math solutions.

Integrating such support canbe a great step towards making FPC an industrial class compiler.

I think so.

Daniël

Reply by email

Alexander Todorov
Daniël Mantione wrote
I don't plan to put effort in OpenMP support; I don't see the need for an external library to be able to do multithreaded programming. Focus here should be on 100% Pascal implementations.

Am I missing something here ? OpenMP is a standard not a library. It uses fork-join model, which is a task of the compiler not external library. MPI though uses an external library. Correct me if I am wrong.

Reply by email

Daniël Mantione
to Alexander Todorov

Op Fri, 17 Mar 2006, schreef Alexander Todorov:

Show quoted text 9 lines
On 3/17/06, Daniël Mantione wrote: > I don't plan to put effort in OpenMP support; I don't see the need > for an external library to be able to do multithreaded programming. Focus > here should be on 100% Pascal implementations. Am I missing something here ? OpenMP is a standard not a library. It uses fork-join model, which is a task of the compiler not external library. MPI though uses an external library. Correct me if I am wrong.

It is a combination of a language extension and a library. The language extensions are of course only defined C and Fortran, so this part would need to be redesigned for Pascal.

Then we have the library, for which what I wrote applies; I doubt if there is a desire for an external C library to get multithreaded programs. Ok, the standard only specifies the interface (in C & Fortran). You can implement an openMP inspired library in Pascal, but I think we would better design something that fits well with the existing multithreading facilities in Pascal.

Daniël

Reply by email