小编bsc*_*pio的帖子

Pip安装到自定义目标目录并排除特定依赖项

我正在寻找一种方法来使用pip或类似方法将python包列表安装到自定义目标目录(ex./mypath/python/pkgs/),但也排除/黑名单特定依赖项.

我想排除特定的依赖项,因为它们已经从不同的安装路径(例如anaconda安装)得到满足.我没有权限将包添加到默认的python安装(我也不想).

我目前使用pip的-r和-t选项.但还没有找到排除特定包的方法.

像这样的pip命令是理想的:

pip install --log pip.log -r req.txt -t /mypath/pypkgs/ --exclude exclude.txt
Run Code Online (Sandbox Code Playgroud)

--no-deps 因为我需要一些依赖项,所以不是一个选项.

我目前正在寻求一个python脚本来执行pip安装,其中包含我不需要的依赖项:

pip install --log pip.log -r req.txt -t /mypath/python/pkgs/
Run Code Online (Sandbox Code Playgroud)

然后(自动)在pip安装完成后删除不需要的依赖项.

我希望pip命令的某些组合可以实现我正在寻找的一些直截了当的东西.我正在使用pip 7.1.2.谢谢!

类似,但我没有升级,想要指定目标路径:

pip:升级包而不升级特定依赖项

python pip

12
推荐指数
4
解决办法
7763
查看次数

如何为每个任务 1 个 GPU 设置 slurm/salloc 但让作业使用多个 GPU?

我们正在寻求一些有关 slurm salloc GPU 分配的建议。目前,给出:

% salloc -n 4 -c 2 -gres=gpu:1
% srun env | grep CUDA   
CUDA_VISIBLE_DEVICES=0
CUDA_VISIBLE_DEVICES=0
CUDA_VISIBLE_DEVICES=0
CUDA_VISIBLE_DEVICES=0
Run Code Online (Sandbox Code Playgroud)

然而,我们希望使用的不仅仅是设备 0。
有没有办法用 srun/mpirun 指定 salloc 以获得以下内容?

CUDA_VISIBLE_DEVICES=0
CUDA_VISIBLE_DEVICES=1
CUDA_VISIBLE_DEVICES=2
CUDA_VISIBLE_DEVICES=3
Run Code Online (Sandbox Code Playgroud)

这是期望的,以便每个任务获得 1 个 GPU,但总体 GPU 使用量分布在 4 个可用设备中(请参阅下面的 gres.conf)。不是所有任务都获得 device=0 的地方。

这样,每个任务就不会像当前的情况一样等待设备 0 释放其他任务。

或者即使我们有超过 1 个可用/空闲的 GPU(总共 4 个)用于 4 个任务,这是否是预期的行为?我们遗漏或误解了什么?

  • salloc/srun 参数?
  • slurm.conf 或 gres.conf 设置?

总结我们希望能够使用 slurm 和 mpi,以便每个等级/任务使用 1 个 GPU,但作业可以在 4 个 GPU 之间分散任务/等级。目前看来我们仅限于设备 0。我们还希望避免由于 mpi 使用而在 salloc/sbatch 中多次提交 srun。

操作系统:CentOS …

gpu nvidia cluster-computing slurm

4
推荐指数
1
解决办法
7580
查看次数

标签 统计

cluster-computing ×1

gpu ×1

nvidia ×1

pip ×1

python ×1

slurm ×1