gpu超算算法_超算安装GPU-based软件 (以pytorch为例)

一般的超算的拓扑结构是若干个登陆节点+若干个交换机+大量计算CPU节点+大量GPU计算节点+一个(或若干个)存储节点+管理节点。

其中存储节点的共享存储可以被所有节点访问。

一般运作方式是,如果我的计算依赖非常共性的软件,我可以找超算管理员安装,使用的时候可以通过module load来初始化自己所需软件。

我校瀚海20上已有共性软件如下:

Vasp和Gaussian是算力消耗的大头,但是超算用户覆盖几十个学院的几百个方向,不可能面面俱到,把所有人需要的软件都装在/opt 也是不现实的。

所以如果我的计算依赖的是比较小众的软件,那么我可以把软件安装在共享存储上,在程序运行的时候可以访问共享存储调用相关文件运行。

这里就会出问题了,安装软件的时候我是在登陆节点访问存储节点,一般来说登陆节点无需强算力没有GPU,但是软件在安装过程中会通过获取当前设备的硬件信息来来决定安装版本,比如PyTorch,在运行

conda install pytorch torchvision torchaudio cudatoolkit=10.2 -c pytorch

官方安装命令的时候,如果本机没有英伟达GPU,则会默认安装CPU-only版本的pytorch。

在官方repo下也有一个issue是请求安装cuda版本但是只装上了CPU-only版本

虽然这个issue的状态已经是'closed',但是我仍然遇到了类似的问题:

猜测是安装过程中通过硬件来决定版本,而且在安装命令中无法强制声明安装cuda版本的pytorch而非CPU-only版本。

思来想去,想出一个办法,重新开个新的env,提交一个“计算”任务,申请一个cpu线程,一张显卡,来运行安装程序。

以下是slurm提交“算例”的脚本:

#!/bin/sh

# script for software install

#SBATCH -J torch_install

#SBATCH -o job-%j.log

#SBATCH -e job-%j.err

#SBATCH -N 1 --ntasks-per-node=1 -p GPU-V100 --gres=gpu:v100:1

echo Time is `date`

echo Directory is $PWD

echo This job runs on the following nodes:

echo $SLURM_JOB_NODELIST

echo This job has allocated $SLURM_JOB_CPUS_PER_NODE cpu cores.

source /home/ess/pjzhang/conda_start.sh

conda create --name torch15gpu

conda activate torch15gpu

# activate the enviroment

module load cuda/10.2.89

# load cuda env

conda install pytorch==1.5.0 cudatoolkit=10.2 -c pytorch

# install GPU-based dependency

echo End at `date`

# for the measure of the running time of the

安装花不了多长时间,而且只用一核,所以机时费可以忽略不计 (四舍五入不要钱)。

这样conda install pytorch的时候就可以检测到GPU就可以安装正常版本了。

然后就可以运行真正的算例了,提交之后随便找个节点login进去看看状态:

还行,跑上了。

能自己搞定的事儿就不麻烦管理员了。

=========

其他创作的分类整理:

参考

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/328572.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

2017最新顺口溜出炉(超级经典)!

来源:素材来自网络 编辑:青年文学精选 转载须注明以上信息 感情 多情是傻, 无情最酷, 痴情是蠢, 绝情是懂得世故。 说钱 最有钱的在北京, 最爱钱的在深圳, 最花钱的在广州&#xff…

先定个小目标, 使用C# 开发的千万级应用

话说昨天的港股发生了一件大事,腾讯成为亚洲市值最高的公司,在这历史性的一刻,作为在鹅厂工作的C# 程序员,也应该让世人了解下C# 并不是那么没有市场。在鹅厂,代码构成中60%以上是C, C#也有10%左右的份额,后…

用eclipse创建动态web项目手动生成web.xml方法

转载自 用eclipse创建动态web项目手动生成web.xml方法今天在学习JSP时先创建了一个web项目,后来在用到web.xml文件时,才发现项目创建时更本就没有自动创建web.xml文件,由于我今天第一次接触这个动态web的学习,所以也没有刻意拷贝…

python3.0什么时候发布的_Django 3.0 发布说明

Python兼容性Django 3.0 仅支持Python 3.6, 3.7和3.8,而且仅支持每个系列里的最新版本。而Django 2.2.x是最后的支持Python 3.5的版本。Django官方已经建议第三方应用开发者放弃兼容Django2.2之前的版本,并给出了操作指南。Django 3.0的新特性支持MariaD…

使用Session防止表单重复提交

转载自 JavaWeb学习总结(十三)——使用Session防止表单重复提交在平时开发中,如果网速比较慢的情况下,用户提交表单后,发现服务器半天都没有响应,那么用户可能会以为是自己没有提交表单,就会再点击提交按钮重复提交表…

如果你也会C#,那不妨了解下F#(5):模块、与C#互相调用

F# 项目 在之前的几篇文章介绍的代码都在交互窗口(fsi.exe)里运行,但平常开发的软件程序可能含有大类类型和函数定义,代码不可能都在一个文件里。下面我们来看VS里提供的F#项目模板。 F#项目模板有以下几种类型(以VS20…

用户模块开发 分类模块 商品模块 购物车模块

分类表 https://openhome.alipay.com/platform/appDaily.htm?tabaccount 沙箱 沙箱环境使用说明 https://docs.open.alipay.com/200/105311 https://docs.open.alipay.com/200/105311 当面付 app都有文档在最下面 https://docs.open.alipay.com/204/105297 app集成文…

hbase 单机连接hadoop_Hadoop、Hbase单机环境安装

1. Hadoop安装1.1 HDFS配置fs.defaultFShdfs://localhost:9000hadoop.tmp.dirfile:/home/local/data/hadoop/tmpdfs.replication1dfs.namenode.name.dirfile:/home/local/data/hadoop/tmp/dfs/namedfs.datanode.data.dirfile:/home/local/data/hadoop/tmp/dfs/data编辑Hadoop下…

高效的SQLSERVER分页查询

Sqlserver数据库分页查询一直是Sqlserver的短板,闲来无事,想出几种方法,假设有表ARTICLE,字段ID、YEAR...(其他省略),数据53210条(客户真实数据,量不大),分页查询每页30条,查询第1500页&#xf…

Java中classLoader浅析

转载自 Java中classLoader浅析本文为在公司内部TD上写的一篇小文, 主要讲解java中classLoader基础知识, 现在拿来这里分享一下. 一、问题 请在Eclipse中新建如下类,并运行它: package java.lang;public class Long {public static void main(String[] …

微软BUG Bounty悬赏项目扩展至.NET Core和ASP.NET Core

微软宣布自 2016 年 9 月 1 日开始将 .NET Core 和 ASP.NET 纳入到 BUG Bounty 悬赏项目范围内,微软将会为 Windows 和 Linux 平台上的两个编程代码提供漏洞悬赏。 微软公布的细节中写道: 微软将会为、最新微软 .NET Core 和 ASP.NET Core 的最新 RTM 版…

计算字典的个数_[LeetCode] 440. 字典序的第K小数字

题目链接: https://leetcode-cn.com/problems/k-th-smallest-in-lexicographical-order难度:困难通过率:28.4%题目描述:给定整数 n 和 k,找到 1 到 n 中字典序第 k 小的数字。注意:1 ≤ k ≤ n ≤ 109。示例:**输入:**…

ASP.NET Core开发-Docker部署运行

ASP.NET Core开发Docker部署,.NET Core支持Docker 部署运行。我们将ASP.NET Core 部署在Docker 上运行。 大家可能都见识过Docker ,今天我们就详细了解一下Docker的用途,以及真实的应用场景。 Docker源于PaaS,PaaS的应用场景即是D…

java异常捕获的一点感悟

转载自 java异常捕获的一点感悟 class Annoyance extends Exception {} class Sneeze extends Annoyance {} class Human { public static void main(String[] args) throws Exception { try { try { throw new Sneeze(); } catch ( Annoyance a ) { System.out…

android修改机型cpu,mac,androidid....

https://blog.csdn.net/yyy_bbb_lll/article/details/80734881 android 改机,抹机工具开发 一 2018年06月19日 16:43:40 阅读数:865 本工具以Xposed框架为基础,实现了改机软件所需的大部分功能。先贴界面图: 设备基本信息的显示…

data layui table 排序_浅谈layui中table的sort排序

table模块是layui框架最核心的组成之一,它用于对表格进行一些列功能和动态化数据操作,本文介绍了layui中table的sort排序,解决了在我们使用sort排序时可能遇到的一些问题。今天来谈谈table sort的那点事。预告一下,目的是做到前台…

gRPC C#学习

前些天gRPC 发布1.0 版本,代表着gRPC 已经正式进入稳定阶段。 今天我们就来学习gRPC C# 。而且目前也已经支持.NET Core 可以实现完美跨平台。 传统的.NET 可以通过Mono 来实现跨平台调用。 GitHub: https://github.com/grpc/grpc gRPC 简单介绍&#x…

Java日期及时间库插件 -- Joda Time.

转载自 Java日期及时间库插件 -- Joda Time.来到新公司工作也有一个多月了, 陆陆续续做了一些简单的项目. 今天做一个新东西的时候发现了 Joda Time的这个东西, 因为以前用的都是JDK原生的时间处理API, 大家都知道Java原生的时间处理的API一直都是不太好用, 所以这个有必要去…

电商校招指导

https://www.imooc.com/article/19998 https://www.imooc.com/article/18998 鼓励大家多总结 有道笔记可以记录下来 多年总结的 平时要多总结 https://www.imooc.com/article/19094 温馨tips: 校招的要求会比社招低很多,大家要把握好机会。因为校招…