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

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

Сообщение Anonymous »

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

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

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