首页 文章

TraMineR的并行计算

提问于
浏览
5

我有一个包含超过250,000个观测值的大型数据集,我想使用 TraMineR 包进行分析 . 特别是,我想使用命令 seqtreeseqdist ,当我使用10,000个观察的子样本时,它可以正常工作 . 我的计算机可以管理的限制是大约20,000个观察 .

我想使用所有观察结果,我确实可以访问一台能够做到这一点的超级计算机 . 但是,这并没有太大帮助,因为该过程仅在单个核心上运行 . 因此,我的问题是,是否可以将并行计算技术应用于上述命令?或者还有其他方法可以加快这个过程吗?任何帮助,将不胜感激!

1 回答

  • 5

    内部 seqdist 函数是用C语言编写的,并且有许多优化 . 因此,如果要并行化seqdist,则需要在C中执行此操作 . 循环位于源文件"distancefunctions.cpp"中,您需要查看功能"cstringdistance"中位于第300行周围的两个循环(抱歉,所有注释都是法语) . 不幸的是,第二个重要的优化是所有计算之间共享内存 . 出于这个原因,我认为并行化将非常复杂 .

    除了选择示例之外,您还应该考虑以下优化:

相关问题