Coliru не удается скомпилировать, если <execution> включен.

Coliru не может скомпилировать программу, указанную ниже. Перейдите по ссылке для получения дополнительной информации.
Это команда, используемая для компиляции

g++ -std=c++20 -DNDEBUG -O3 -ftree-vectorize -Wall-Wno-unknown-pragmas -fpermissive -pedantic -pthread main.cpp

Мне не хватает какого-то флага компиляции?

Ошибка

usr/local/include/c++/12.1.0/pstl/parallel_backend_tbb.h:29:6: error:#error Требуется Intel(R) ThreadingBuilding Blocks 2018; старые версии не поддерживаются. 29 | # ошибка Требуется Intel(R) ThreadingBuilding Blocks 2018; старые версии не поддерживаются.

      #include <iostream>
#include <algorithm>
#include <vector>
#include <execution>

int main()
{
    std::vector<int> intData {1, 22, 33,42, 57};
    std::vector<double> doubleData (intData.size ());
    
    std::transform (std::execution::par_unseq, intData.begin (), intData.end (), doubleData.begin (), [] (auto value){return static_cast<double> (value) / 2;});
    
    for (size_t ii = 0; ii < intData.size (); ++ii)
    {
        std::cout << intData[ii] << ", " << doubleData[ii] << "\n";
    }
    
    return 0;
}

0 ответов

Другие вопросы по тегам