[GiNaC-list] Ginac and OpenMP

Martin Ettl ettl.martin at gmx.de
Wed May 19 17:37:44 CEST 2010


i try to do some symbolic computation in parallel using openMP. This is offered from gcc since version 4.2 on Linux.

Here a reduced version of what i have tried:

#include <iostream>
#include <stdexcept>
#include <ginac/ginac.h>
#include <omp.h>
using namespace std;
using namespace GiNaC;

int main()

    symbol omega("om"),u("u"),du("du");
    ex F = -(pow(omega,12)*u) - (pow(u,13));
    unsigned int ui;
    #pragma omp parallel for private(F) shared(ui,u,omega,du)
    for(ui = 0; ui < 10 ; ui++)
        std::cout << F.diff(u,ui) << std::endl;

Compile it with : g++ -fopenmp -o test test.cpp -lginac

For every iteration of the for loop, the result is still zero.
Has anybody else have had the same (or similiar) problem. Have i made misst something?

Many thanks in advance


GRATIS für alle GMX-Mitglieder: Die maxdome Movie-FLAT!
Jetzt freischalten unter http://portal.gmx.net/de/go/maxdome01

More information about the GiNaC-list mailing list