Ich versuche, die Guibas Stolfi delaunay triangulation mit openmp zu parallelisieren.Parallel Delaunay Triangulation
Es gibt zwei Dinge parallelisieren hier- die mergesort(), die ich habe und die divide() wo ich stecken bin. Ich habe alle möglichen Ansätze aber vergebens ausprobiert.
Der Ansatz folgt (divide n conquer) in divide() ist der gleiche wie der von mergesort(), aber die Anwendung der gleichen Parallelisierungstechnik (omp-Abschnitte) funktioniert nur für Mergesort.
Ich habe versucht, die parallelization technique shown here, aber auch das funktioniert nicht. Ich habe irgendwo etwas über verschachtelte Parallelität gelesen, aber ich bin mir nicht sicher, wie ich es implementieren soll. Kann jemand erklären, wie Divide and Conquer-Algorithmen parallelisiert werden?
Code: Genannt mergesort zweimal in Hauptfunktion und angewandte Abschnitte construct.Doing gleiche für Teilungsfunktion nicht
#pragma omp parallel
{
#pragma omp sections nowait
{
#pragma omp section
{
merge_sort(p_sorted, p_temp, 0, n/2);
}
#pragma omp section
{
merge_sort(p_sorted, p_temp, (n/2)+1, n-1);
}
}
}
Können Sie etwas Code posten? – Tudor
posted code .... – haxor
vollständigen Code finden: -http: //pastebin.com/4nxbAts7 – haxor