gpt4 book ai didi

linux - 如何使用 tasket 将 cpu 核心分配给带有参数的程序的多个实例

转载 作者:太空狗 更新时间:2023-10-29 12:28:21 24 4
gpt4 key购买 nike

问题描述

我正在尝试在 6 核心机器上运行 7 models_test 实例。为此,我使用了以下脚本。任务编号 7 在计算方面要求最高。

#!/bin/bash

./models_test tfidf.db output/ input/ 1 10 &
./models_test tfidf.db output/ input/ 11 20 &
./models_test tfidf.db output/ input/ 21 30 &
./models_test tfidf.db output/ input/ 31 40 &
./models_test tfidf.db output/ input/ 41 50 &
./models_test tfidf.db output/ input/ 51 60 &
./models_test tfidf.db output/ input/ 61 70

./models_test 采用 5 个参数:

  1. 数据库
  2. 输出路径
  3. 输入路径
  4. 编号 1
  5. 编号 2

任务集

我想使用 taskset 运行相同的 7 实例命令如下:

#!/bin/bash

# Cpus are identified by `{0, 1, 2, 3, 4, 5}`

taskset -c 0 ./models_test tfidf.db output/ input/ 1 10 &
taskset -c 1 ./models_test tfidf.db output/ input/ 11 20 &
taskset -c 2 ./models_test tfidf.db output/ input/ 21 30 &
taskset -c 3 ./models_test tfidf.db output/ input/ 31 40 &
taskset -c 3 ./models_test tfidf.db output/ input/ 41 50 &
taskset -c 4 ./models_test tfidf.db output/ input/ 51 60 &
taskset -c 5 ./models_test tfidf.db output/ input/ 61 70

问题

  • 通过将 7 任务分配到 6 核心上,我是否在 taskset 中正确地完成了工作?
  • 第一个脚本会在6 核上自动分配7 七个任务吗?

最佳答案

我经常遇到类似的问题。我没有使用任务集,而是使用了 nice:

parallel --nice 11 ./models_test tfidf.db output/ input/ {} '{= $_+=9 =}' ::: {1..60..10} &
./models_test tfidf.db output/ input/ 61 70
wait

关于linux - 如何使用 tasket 将 cpu 核心分配给带有参数的程序的多个实例,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34928514/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com