【问题标题】:GNU Parallel Setup on Unix command line promptUnix 命令行提示符下的 GNU Parallel Setup
【发布时间】:2013-09-18 21:49:34
【问题描述】:

我有一个 c 程序,它通过标准输入 main(argc) 或通过 scanf() 调用获取输入。

如果没有合适的标准输入,它会使用 scanf() 调用来请求输入。

我正在尝试使用 gnu 并行启动具有不同输入值的该程序的多个版本。该程序将 2 个整数作为输入,例如:

printf("\nEnter Start Line (0 for first line) :");
scanf ("%d",&startline);

printf("\nEnter End Line:");
scanf ("%d",&endline);

输入也是增量的,所以如果第一个文件的输入是 0 10 那么第二个文件输入将是 10 20 第三个文件 20 30 等等

我只是很难构建正确的调用来实现我想要的。有人对此有什么想法吗?

谢谢

【问题讨论】:

    标签: c parallel-processing gnu gnu-parallel


    【解决方案1】:

    所以您的程序从 STDIN 读取,并且您希望将输入分成 2 行块,每个块都传递给您的程序:

    cat your_input | parallel --pipe -N2 your_program
    

    例子:

    seq 10 | parallel --pipe -N2 echo "NEW"\; cat
    

    花一个小时浏览本教程。您的命令行会因此而爱上您。 http://www.gnu.org/software/parallel/parallel_tutorial.html#gnu_parallel_tutorial

    【讨论】:

      最近更新 更多