是否有任何工具可以为我重写二进制文件以使用GPU,SSE指令或多线程?我有一个单线程程序,有很多备用周期,但我没有源代码。
答案 0 :(得分:0)
此任务没有通用工具,因为并行化代码需要理解它,除了像循环这样的简单案例。
有些工具可以在源代码级别进行操作,或多或少地进行简单的并行化,但是一旦编译完代码,就会丢失很多语义信息。
您可以尝试通过生成多个进程在更高级别对其进行并行化。
E.g。如果此二进制文件采用参数 n 并且其执行时间与 n 相关,那么生成 p 进程最多可以将运行时间除以 p 的
当然你应该确保这个程序不会做与并行化不兼容的事情,因为你可能真的搞砸了:假设这个程序使用一个文件存储临时数据,运行两个实例可能会破坏文件。
因此,在尝试运行并行实例之前,请谨慎确定二进制文件的周长:文件,数据库,系统资源(互斥锁,信号量......)。 如果它使用位于同一文件夹中的文件,那么您还必须复制 p 文件夹中的二进制文件。