Parallelize gcc lto

Offen
#1,224 1 Kommentar 0 Reaktionen 0 zugewiesene Personen Auf GitHub ansehen

Dieses Issue hat noch niemand übernommen.

Bewertung

Schwierigkeit
2/5
Geschätzter Aufwand
1-3 Stunden
Anfängerfreundlichkeit
48/100
Issue-Typ
Feature
Klarheit
Klar beschrieben
Aktivitätsstatus
Veraltet
Tech-Stack
cpp
Bereich
build-system

Rechercherichtung

Beginne in makefile etwa bei Zeile 74 und überprüfe die in der verlinkten GCC-Dokumentation beschriebenen GCC-LTO-Optionen. Prüfe den Build-Pfad, der verwendet wird, wenn STAN_CPP_OPTIMS aktiviert ist, und verifiziere anschließend mit GCC, dass die Warnung zur seriellen LTRANS-Kompilierung unterdrückt wird und das Linking Parallelität verwendet.

Vom Indexierungsmodell aus dem Issue-Text verfasst.

Beschreibung

gcc allows passing the number of threads for parallelization to use at link time with LTO. Since gcc 10.x this can be set automatically with -flto=auto which will use either GNU Make's job server or fallback to detecting the number of available CPU threads (see the gcc documentation)

An additional ifeq check can be added to makefile around line 74. This will silence the lto-wrapper warning that currently pops up about serial compilation of LTRANS jobs when compiling with gcc and STAN_CPP_OPTIMS enabled and hopefully decrease the linking time.

Vorherrschende Sprache
C++
Sterne
240
Forks
105
Ø Merge
1 T. 5 Std.
Gemergte PRs (30 T.)
1

Entwicklungsumgebung

Erste Schritte

  1. Lesen Sie das ganze Issue und danach den Beitragsleitfaden des Projekts.
  2. Schreiben Sie ins Issue, dass Sie es übernehmen — das erspart doppelte Arbeit.
  3. Forken Sie das Repository und arbeiten Sie in einem Branch.
  4. Öffnen Sie einen Pull Request, der die Issue-Nummer nennt.

Mehr aus stan-dev/cmdstan

Alle Issues in stan-dev/cmdstan

Ähnliche Issues

Weitere Issues zu C++

Neue Issues direkt in Ihr Postfach

Eine kurze Übersicht über anfängerfreundliche GitHub-Issues.