[Cado-nfs-discuss] OpenMP Usage

Robert Pancoast robertpancoast77 at gmail.com
Thu Nov 15 01:06:23 CET 2018


Hello Emmanuel,

I appreciate the insight.  Is it possible to convert the subprograms
that use C++11 threads.and posix threads to use OpenMP?  Additionally,
which subprograms compose the majority of execution time throughout
factorization?

Thanks,
Robert
On Wed, Nov 14, 2018 at 2:54 AM Emmanuel Thomé <Emmanuel.Thome at inria.fr> wrote:
>
> On Tue, Nov 13, 2018 at 09:22:07PM -0500, Robert Pancoast wrote:
> > Greetings,
> >
> > I have an interest in further exploring cado-nfs usage, but it has been quite some time since I have looked into the sources. In the current codebase, does there exist openMP usage? What are the major stages of a factorization, and which (if any) utilization openMP?
>
> Hi,
>
> cado-nfs does use openmp. More broadly, cado-nfs has been using threads
> from day one. This being said, cado-nfs comprises many subprograms, and
> their use of threads varies. Here's a quick recap off the top of my head
> (with some help from "git grep"):
>
>
> polyselect:
>     main program uses posix threads.
>     root optimization uses openmp.
>     DL polyselect uses openmp.
>
> sieve:
>     "makefb" uses posix threads.
>     "las" uses posix threads and C++11 threads.
>     "batch cofactorization" uses openmp.
>
> filter:
>     heavylifting of relation i/o uses posix threads (with minimalist
>     locking) (this is pervasive in almost all of the filter code).
>     some spots in "merge" and "replay" use openmp.
>
> linear algebra:
>     most of the code uses posix threads, as well as MPI.
>     linear generator computation uses openmp and MPI (subject to evolve soon).
>
> other:
>     "characters" and "sqrt" use posix threads.
>     "crtalgsqrt" uses posix threads and MPI.
>
>
> Whether some code is written to use posix threads or openmp or c++11
> threads or whatnot depends on multiple factors. Some things are best done
> in one model rather than another. Some of the authors have a preference
> towards one model rather than another, too.
>
> E.


More information about the Cado-nfs-discuss mailing list