CilkPlus: вектор редукторов, которые не выровнены по кешу

Я использую Cilk и пользовательский редуктор, как описано здесь: https://software.intel.com/en-us/node/522608. В их примере они используют редуктор для операции добавления в связанный список.

Теперь я хочу создать вектор редукторов (используя std::vector); Однако я получаю следующую ошибку во время выполнения:

Reducer should be cache aligned. Please see comments following this assertion for explanation and fixes.

После просмотра комментариев (строка 948 здесь: https://github.com/Nyks45/Toolchain/blob/master/lib/gcc/x86_64-unknown-linux-gnu/5.3.1/include/cilk/reducer.hЯ понял, что мне нужно использовать редукторы «нового стиля», чтобы обойти это, чтобы они не обязательно были выровнены по кешу. Однако я не могу найти никакой документации / примера того, как я могу создать редуктор «нового стиля».

Как мне создать собственный редуктор «нового стиля» для приведенного выше примера связанного списка?

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …