OMPTL в Visual Studio? - PullRequest
       30

OMPTL в Visual Studio?

0 голосов
/ 24 июня 2010

Я пытался использовать OMPTL в Visual Studio.Насколько я понимаю, мне нужно только установить параметр / openmp, чтобы OMPTL использовал многопоточную реализацию некоторых функций stl.

Когда я не использую / openmp, всеFine и OMPTL отображают функции на их обычные счетчики STL без многопоточности.Однако с / openmp я получаю сообщение об ошибке компилятора:

Error 1 error C2572: 'omptl::transform_accumulate' : redefinition of default parameter : parameter 6 ..\include\omptl\omptl_numeric_extentions_par.h 132

В указанной строке написано

template <class Iterator, class T, class UnaryFunction, class BinaryFunction>
T transform_accumulate(Iterator first, Iterator last, const T init,
   UnaryFunction unary_op, BinaryFunction binary_op,
   const unsigned P = omp_get_max_threads())
{
 return ::omptl::_TransformAccumulate
 <typename ::std::iterator_traits<Iterator>::iterator_category>
  ::transform_accumulate(first, last, init,
     unary_op, binary_op, P);
}

Есть ли способ исправить это или OMPTL просто не используется с Microsoftкомпилятор?

1 Ответ

0 голосов
/ 28 сентября 2010

Компилятор, похоже, не принимает параметры по умолчанию в этом объявлении шаблона.Удаление = omp_get_max_threads() из обеих деклараций решило проблему для меня.

...