>백엔드 개발 >C++ >성능 향상을 위해 C 17 병렬 알고리즘을 어떻게 활용할 수 있습니까?

성능 향상을 위해 C 17 병렬 알고리즘을 어떻게 활용할 수 있습니까?

Patricia Arquette
Patricia Arquette원래의
2024-10-27 06:03:29727검색

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

C 17 병렬 알고리즘이 이미 구현되어 있나요?

C 17에서는 병렬 알고리즘이 도입되었지만 구현 문제에 직면했습니다. 현재 이러한 알고리즘은 GCC 9에서 구현되었습니다. 단, 이를 사용하려면 TBB(Thread Building Blocks)를 독립적으로 설치해야 합니다.

구현 세부 정보

Ubuntu 19.10:

  • GCC 9 및 TBB 2019를 쉽게 사용할 수 있습니다.
  • 설치: sudo apt install gcc libtbb-dev

Ubuntu 18.04:

  • GCC 9는 PPA에서 구할 수 있습니다.
  • 기존 버전이 호환되지 않으므로 TBB를 수동으로 컴파일해야 합니다.
  • 자동 설치 단계는 답변에 제공된 명령을 참조하세요.

사용법:

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

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

성능

정렬 프로그램을 사용한 벤치마크는 병렬 알고리즘을 사용하여 상당한 속도 향상을 보여주었으며 한 예에서는 4.5배 향상된 성능을 달성했습니다. 시스템 사양에 따라 성능이 달라질 수 있습니다.

일반적인 오류 문제 해결

  • TBB 누락: tbb/blocked_range.h를 찾을 수 없습니다.
  • 오래된 TBB: TBB 버전 2018 이상이 필요합니다.

위 내용은 성능 향상을 위해 C 17 병렬 알고리즘을 어떻게 활용할 수 있습니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!

성명:
본 글의 내용은 네티즌들의 자발적인 기여로 작성되었으며, 저작권은 원저작자에게 있습니다. 본 사이트는 이에 상응하는 법적 책임을 지지 않습니다. 표절이나 침해가 의심되는 콘텐츠를 발견한 경우 admin@php.cn으로 문의하세요.