分叉线程的成本:如何确定最小向量大小以证明多线程的合理性
||
我正在尝试计算许多矢量对的点积。每个点积可以使用多个线程,但是由于数据依赖性,不应同时执行两个或多个点积。这里可能证明多线程合理的最小向量大小是多少?我意识到没有人能够给我确切的答案,所以我只是在寻找粗略的估计。
为问题添加更多的上下文:我的程序需要计算很多点积,但是一次只能完成一个点积。
double serial_dot_product(const double* x, const double* y, size_t length);
我想重写点积以使其成为多线程。但是,如果length
太小,则使用多个线程不会获得任何收益。
编辑。谢谢各位的意见。看来答案取决于太多因素-编译器,CPU,内存,线程库等。
没有找到相关结果
已邀请:
2 个回复
娠频摩
肉脓措伪