RCPP Параллельные вычисления в списке Ress MalresC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 RCPP Параллельные вычисления в списке Ress Malres

Сообщение Anonymous »

У меня есть Rcpp :: list больших разреженных матриц, передаваемых из R. Я хотел бы работать над этим списком матриц параллельно, не делая копий. В частности, несколько потоков будут извлекать отдельные подмножества столбцов каждой записи матрицы в списке и использовать их для дальнейших вычислений. Нам не нужен доступ к списку или его матрицам. Мы будем только читать. (Например, я попытался использовать Rcpp :: as (list ). Cols (Columns) для извлечения желаемых столбцов из матрицы i^th Sparse из списка, но R сообщает о предупреждениях о дисбалансе стека, когда делаем это параллельно, но все еще дает мне ожидаемые результаты при повторных запусках кода.) < /p>
Мне нравится идея использования указателей, предложенных Этот плакат, для параллельной операции RCPP в списках плотных матриц Arma :: Mat Тип: безопасно ли доступ (только для чтения) R в рамках списка RCPP :: из параллелизированного цикла OpenMP с помощью STD: STD: : Vector ? В частности, нам нужен способ извлечь указатели для каждой матрицы в списке (что приведенное выше пост выполняет через numericmatrix ), а затем инициализируйте arma :: sp_mat путем повторного использования памяти (что вышеуказанное сообщение через Arma :: Mat Advanced Constructor; Зеркало это именно для случая Arma :: sp_mat ).

Подробнее здесь: https://stackoverflow.com/questions/793 ... e-matrices
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»