Heim >Backend-Entwicklung >C++ >Wie kann ich C 17-Parallelalgorithmen für Leistungssteigerungen nutzen?

Wie kann ich C 17-Parallelalgorithmen für Leistungssteigerungen nutzen?

Patricia Arquette
Patricia ArquetteOriginal
2024-10-27 06:03:29730Durchsuche

 How Can I Leverage C  17 Parallel Algorithms for Performance Gains?

Sind C 17-Parallelalgorithmen bereits implementiert?

In C 17 wurden parallele Algorithmen eingeführt, standen jedoch vor Herausforderungen bei der Implementierung. Ab heute sind diese Algorithmen in GCC 9 realisiert. Um sie verwenden zu können, müssen Sie jedoch Thread Building Blocks (TBB) unabhängig installieren.

Implementierungsdetails

Ubuntu 19.10:

  • GCC 9 und TBB 2019 sind sofort verfügbar.
  • Installation: sudo apt install gcc libtbb-dev

Ubuntu 18.04:

  • GCC 9 kann über ein PPA erworben werden.
  • TBB muss manuell kompiliert werden, da die vorhandene Version inkompatibel ist.
  • Automatische Installationsschritte finden Sie in den bereitgestellten Befehlen in der Antwort.

Verwendung:

<code class="cpp">#include <execution>
#include <algorithm>

std::sort(std::execution::par_unseq, input.begin(), input.end());</code>

Leistung

Benchmarks mit einem Sortierprogramm zeigen erhebliche Geschwindigkeitssteigerungen mit parallelen Algorithmen und erreichten in einem Beispiel eine 4,5-fache Verbesserung. Die Leistung kann je nach Systemspezifikationen variieren.

Behebung häufiger Fehler

  • Fehlendes TBB: tbb/blocked_range.h nicht gefunden.
  • Veraltetes TBB:Erfordert TBB-Version 2018 oder höher.

Das obige ist der detaillierte Inhalt vonWie kann ich C 17-Parallelalgorithmen für Leistungssteigerungen nutzen?. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Stellungnahme:
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn