目前还没有有效的算法可以以数据并行的方式创建稀疏矩阵。可能的解决方案是使用坐标矩阵类型,在内容填充后需要进行排序,但该类型对于矩阵乘积等操作较慢。 解决方案是不要构建稀疏矩阵 - 不要将其保留在内存中;在计算稀疏矩阵元素时,可以在原地执行隐式操作。
如果您将矩阵存储为坐标映射,任何具有并发字典实现的语言都应该适合您。Java拥有ConcurrentHashMap,而.NET 4则拥有ConcurrentDictionary,两者都允许在并行中进行多线程非阻塞(据我所知)元素插入。