r — RCpp / RInside C ++ основные методы запросов и ограничений?

Пару вопросов о RInside я не смог найти в списке рассылки RCpp. Можете ли вы определить RInside () вне метода C ++ main ()? Есть ли примеры этого? Или я могу иметь только один R встроенный сеанс в каждом приложении C ++? Есть ли способ, которым я мог бы использовать мой C ++ papp для одновременного вызова нескольких скриптов R через что-то вроде OpenMP?
Спасибо

1

Решение

Вы можете определить свой RInside() экземпляр, где вы хотите.

Но вы ограничены иметь точно один экземпляр на процесс, потому что R является однопоточным. Так что я нахожу инстанцирование в main() проще всего, как я могу передать ссылку. Смотрите различные примеры сценариев в пакете.

И да, если вы хотите «много» экземпляров, уловка порождения процессы через MPI хороший.

Что касается OpenMP, я обнаружил, что вы должны быть очень осторожны из-за однонаправленности Р.

Но почему бы вам просто не попробовать и не попытаться сообщить об этом в списке rcpp-devel, если он потерпит неудачу?

2

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

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

По вопросам рекламы [email protected]