Rumah > pembangunan bahagian belakang > C++ > Bagaimana Saya Boleh Mendapatkan Algoritma Selari C 17 Berfungsi?

Bagaimana Saya Boleh Mendapatkan Algoritma Selari C 17 Berfungsi?

DDD
Lepaskan: 2024-10-26 10:07:03
asal
1085 orang telah melayarinya

 How Can I Get C  17 Parallel Algorithms Working?

Adakah Algoritma Selari C 17 Sudah Dilaksanakan?

Soalan:

Walaupun cuba untuk melaksanakan ciri perpustakaan selari baharu yang diperkenalkan dalam piawaian C 17, pengarang mengalami ralat penyusunan. Mereka mempersoalkan sama ada algoritma ini telah dilaksanakan.

Jawapan:

GCC 9 dan TBB 2018 adalah yang pertama menyokong algoritma selari C 17. Walau bagaimanapun, TBB mesti dipasang secara berasingan.

Arahan Pemasangan:

Ubuntu 19.10:

sudo apt install gcc libtbb-dev
g++ -ggdb3 -O3 -std=c++17 -Wall -Wextra -pedantic -o main.out main.cpp -ltbb
./main.out
Salin selepas log masuk

Ubuntu 18.04:

# Install GCC 9
sudo add-apt-repository ppa:ubuntu-toolchain-r/test
sudo apt-get update
sudo apt-get install gcc-9 g++-9

# Compile libtbb from source.
sudo apt-get build-dep libtbb-dev
git clone https://github.com/intel/tbb
cd tbb
git checkout 2019_U9
make -j `nproc`
TBB="$(pwd)"
TBB_RELEASE="${TBB}/build/linux_intel64_gcc_cc7.4.0_libc2.27_kernel4.15.0_release"

# Use them to compile our test program.
g++-9 -ggdb3 -O3 -std=c++17 -Wall -Wextra -pedantic -I "${TBB}/include" -L 
"${TBB_RELEASE}" -Wl,-rpath,"${TBB_RELEASE}" -o main.out main.cpp -ltbb
./main.out
Salin selepas log masuk

Analisis Prestasi:

Ujian pada komputer riba Lenovo ThinkPad P51 dengan 4 teras/8 benang dan 2x 16GiB RAM, selari isihan adalah kira-kira 4.5 kali lebih pantas daripada versi bersiri untuk saiz input 100 juta nombor.

Mesej Ralat:

  • Jika TBB tidak dipasang :

    fatal error: tbb/blocked_range.h: No such file or directory
    Salin selepas log masuk
  • Jika versi TBB terlalu lama:

    #error Intel(R) Threading Building Blocks 2018 is required; older versions are not supported.
    Salin selepas log masuk

Atas ialah kandungan terperinci Bagaimana Saya Boleh Mendapatkan Algoritma Selari C 17 Berfungsi?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan