high perfermance computer usage
简单记一下hpc的使用:
hpc就是一些科研机构或者大学建立的服务器中心。我这大学的每一位学生,可以轻松使用hpc批量跑数据,也可以新建自己的server跑一些local data,后者每个学生账号最大是32核512G的运行内存,体验非常好,只不过只能使用jupyternote book或者R登录,也可以跑bash,总之非常nice。
新建自己的server跑jupyternote book就比较容易,例如:
from concurrent.futures import ProcessPoolExecutor
from tqdm import tqdm
# python
def my_func(x):return x**2
def run(f, this_iter):with ProcessPoolExecutor(max_wokers=32) a executor:results = list(tqdm(executor.map(f. this_iter), total=len(this_iter))return results
if name == '__main__':this_iter = [1,2,3,4,4,5,6]results = run(my_func, this_iter)# ipynb
from multiprocessing import Pool
from tqdm import tqdm
def my_func(x):return x**2
def run(f, this_iter):with Pool(max_wokers=32) a p:results = list(tqdm(p.imap(f. this_iter), total=len(this_iter))return results
if name == '__main__':this_iter = [1,2,3,4,4,5,6]results = run(my_func, this_iter)
两者区别就在于使用ProcessPoolExecutor 还是 Pool,还有map 和imap。其他都是一样的使用。
完全免费的32核512G云服务器,还可以加载2080Ti等显卡,我觉得这个科研资源算是非常好了,至少节省了自己2万左右资金。
第二个就是hpc节点的使用
hpc的集群节点主要是用来批量跑数据预处理,我主要是跑fmriprep和xcp-d。
首先是定义变量:
#!/bin/bash#$ -N sub-${subject}_fmriprep
#$ -pe smp 10
#$ -q UI
#$ -j y
#$ -o /Data/test/logs
#$ -t 1-29:1
这些是hpc的定义,例如-o表示output,-pe表示需求的核心数,-q是请求的节点端口等等。
然后可以自己自定义一些环境变量:
singularityDir=/Data/test
export TEMPLATEFLOW_HOME=${singularityDir}/TemplateFlow
export SINGULARITYENV_TEMPLATEFLOW_HOME=/templateflow
然后就可以使用fmriprep的脚本:
singularity run --cleanenv \
-B /Users/work:/work \
-B ${TEMPLATEFLOW_HOME:-$HOME/.cache/templateflow}:/templateflow \
${singularityDir}/fmriprep.sif \
/Data/test/BIDS/ /Data/test/fmriprep/ participant --participant-label ${subject} \
--skip_bids_validation \
--nprocs 8 --omp-nthreads 8 --mem 32000 \
-t rest \
-w work \
........
......
然后保存脚本,在服务器端口敲命令: qsub fmriprep_run.sh 即可。
可以用 qstat | grep ID 查看提交的作业是否正常在运行。
等运行结束以后,可以使用qacct -j {job_id} 查看fmriprep的运行过程。
以我这个为例,我的test脚本调用了8个核跑了一个被试,运行细节如下:
一个rest-state bold输出到2个空间,做体空间和皮层空间,cpu时间是84831s,最大内存是5.8G,运行时间是8小时30分钟。
一般来说,fmriprep只有几个步骤能跑满cpu,比如ants,还有一些步骤是跑不满的,所以假设同样8个被试,使用8个核心,一个一个跑,跟使用1个核心,8个一起跑,后者的时间应该是要短很多。
一种方法是,使用python脚本,建立Pool池,调用多个kernel,然后每个kernel去跑一个singularity。
## multiple subjects
#!/bin/bash
#$ -N sub-batchArray_fmriprep
#$ -pe smp 10
#$ -q PINC, CCOM, UI
#$ -j y
#$ -o /data/logs
#$ -t 1-27:1
OMP_NUM_THREADS=30
subject='cat /data/test/sublist | head -n+${SGE_TASK_ID} | tail -n-1'singularityDir=/data/test
...
...
相关文章:
high perfermance computer usage
简单记一下hpc的使用: hpc就是一些科研机构或者大学建立的服务器中心。我这大学的每一位学生,可以轻松使用hpc批量跑数据,也可以新建自己的server跑一些local data,后者每个学生账号最大是32核512G的运行内存,体验非常…...
51单片机+DS1302设计一个电子钟(LCD1602显示时间)
一、前言 电子钟是一种能够准确显示时间的设备,广泛应用于家庭、办公场所和公共场所,为人们提供了方便和准确的时间信息。本项目设计一个基于51单片机的电子钟,使用DS1302作为RTC时钟芯片,LCD1602作为显示屏,并通过串…...
vue项目中在scss代码中使用data中的变量
尽管在日常开发中,这类情况实际上很少出现。 VUE2: 在HTML中使用时,请确保将cssVars绑定在需要使用CSS变量的元素或该元素的上层元素上。 <template><div :style"cssVars"><div class"test"/></div><…...
uni-app报错“本应用使用HBuilderX x.x.x 或对应的cli版本编译,而手机端SDK版本是x.x.x不匹配的版本可能造成应用异常”
uniapp开发的一个跨平台软件,在安卓模拟器上启动的时候报警告: 官方给的解释:uni-app运行环境版本和编译器版本不一致的问题 - DCloud问答 解决办法有两个 方法一:添加忽略警告的配置 项目根目录下找到 manifest.json…...
[sd_scripts]之train
https://github.com/kohya-ss/sd-scripts/blob/main/docs/train_README-zh.mdhttps://github.com/kohya-ss/sd-scripts/blob/main/docs/train_README-zh.md 支持模型fine-tune,dreambooth,lora,textual inversion。 1.数据准备 在任意多个…...
samba 共享目录write permission deny问题修复 可读取内容但不可修改 删除 新增文件
关于 update/delete/write permission deny问题修复 0.首先在服务器端执行testparm -s ,测试 Samba 配置并显示结果。需确保服务器端参数 read only No ,共享目录有写入权限 一、若配置了允许匿名访问,使用匿名访问来操作smb需要做如下处理…...
UDP主要丢包原因及具体问题分析
一、主要丢包原因 1、接收端处理时间过长导致丢包:调用recv方法接收端收到数据后,处理数据花了一些时间,处理完后再次调用recv方法,在这二次调用间隔里,发过来的包可能丢失。对于这种情况可以修改接收端,将包接收后存入…...
647. 回文子串 516.最长回文子序列
647. 回文子串 题目: 给你一个字符串 s ,请你统计并返回这个字符串中 回文子串 的数目。 回文字符串 是正着读和倒过来读一样的字符串。 子字符串 是字符串中的由连续字符组成的一个序列。 具有不同开始位置或结束位置的子串,即使是由相…...
点云从入门到精通技术详解100篇-双传感器模式的非结构化环境检测与识别
目录 前言 国内外研究现状 可通行区域检测的研究 障碍物检测的研究...
Nginx-反向代理
反向代理 1 语法 server {listen 82; server_name www.liyong.f.com;location ~* .*(css|js|html|images). {proxy_pass http://11.22.19.81:8088; } 上面的示例的意思是: 当访问:http://www.liyong.f.com:82/static/css/OneMap.b728e2e4.css 转发到 …...
Java封装一个根据指定的字段来获取子集的工具类
工具类 ZhLambdaUtils SuppressWarnings("all") public class ZhLambdaUtils {/*** METHOD_NAME*/private static final String METHOD_NAME "writeReplace";/*** 获取到lambda参数的方法名称** param <T> parameter* param function functi…...
【HUST】网安纳米|2023年研究生纳米技术考试参考
目录 1 纳米材料是什么 2 纳米材料的结构特性 3 纳米结构的其他特性 4 纳米结构的检测技术 5 纳米材料的应用 打印建议:PPT彩印(这样重点比较突出),每面12张PPT,简单做一下关键词目录,亲测可以看清。如…...
【移远QuecPython】EC800M物联网开发板的MQTT协议腾讯云数据上报
【移远QuecPython】EC800M物联网开发板的MQTT协议腾讯云数据上报 文章目录 导入库初始化设置MQTT注册回调订阅发布功能开启服务发送消息函数打包调用测试效果附录:列表的赋值类型和py打包列表赋值BUG复现代码改进优化总结 py打包 导入库 from TenCentYun import TX…...
关灯游戏及扩展
7.8 图形界面应用案例——关灯游戏 题目: [案例]游戏初步——关灯游戏。 关灯游戏是很有意思的益智游戏,玩家通过单击关掉(或打开)一盏灯。如果关(掉(或打开)一个电灯,其周围(上下左右)的电灯也会触及开关,成…...
深度解析:用Python爬虫逆向破解dappradar的URL加密参数(最详细逆向实战教程,小白进阶高手之路)
特别声明:本篇文章仅供学习与研究使用,不得用做任何非法用途,请大家遵守相关法律法规 目录 一、逆向目标二、准备工作三、逆向分析 - 太详细了!3.1 逆向前的一些想法3.1.1 加密字符串属性猜测3.1.2 是否可以手动复制加密API?3.2 XHR断点调试3.3 加密前各参数属性的变化情况…...
论文笔记:AttnMove: History Enhanced Trajectory Recovery via AttentionalNetwork
AAAI 2021 1 intro 1.1 背景 将用户稀疏的轨迹数据恢复至细粒度的轨迹数据是十分重要的恢复稀疏轨迹数据至细粒度轨迹数据是非常困难的 已观察到的用户位置数据十分稀疏,使得未观察到的用户位置存在较多的不确定性真实数据中存在大量噪声,如何有效的挖…...
Django之视图层
目录 一、三板斧的使用 二、JsonReponse序列化类的使用 三、 form表单上传文件 数据准备 数据处理 (1)post请求数据 (2)文件数据获取 四、 FBV与CBV 五、CBV的源码分析 as_view 方法 一、三板斧的使用 HttpResponse 返回字符串类型render 渲染html页面,并…...
DAY54 392.判断子序列 + 115.不同的子序列
392.判断子序列 题目要求:给定字符串 s 和 t ,判断 s 是否为 t 的子序列。 字符串的一个子序列是原始字符串删除一些(也可以不删除)字符而不改变剩余字符相对位置形成的新字符串。(例如,"ace"是…...
【Nginx】nginx | 微信小程序验证域名配置
【Nginx】nginx | 微信小程序验证域名配置 一、说明二、域名管理 一、说明 小程序需要添加头条的功能,内容涉及到富文本内容显示图片资源存储在minio中,域名访问。微信小程序需要验证才能显示。 二、域名管理 服务器是阿里云,用的宝塔管理…...
大数据Doris(二十二):数据查看导入
文章目录 数据查看导入 数据查看导入 Broker load 导入方式由于是异步的,所以用户必须将创建导入的 Label 记录,并且在查看导入命令中使用 Label 来查看导入结果。查看导入命令在所有导入方式中是通用的,具体语法可执行 HELP SHOW LOAD 查看。 show load order by create…...
Rocky Linux 9下用清华源5分钟搞定GitLab-CE安装(附防火墙配置)
Rocky Linux 9下用清华源5分钟搞定GitLab-CE安装(附防火墙配置) 在当今的软件开发协作中,GitLab已经成为团队不可或缺的代码管理和持续集成平台。对于国内开发者而言,如何在Rocky Linux 9系统上快速部署GitLab-CE,同时…...
手机拍夜景总糊?试试这个‘零成本’的AI增强方案:Retinex与Zero-DCE原理大白话解读
手机夜景拍摄救星:用AI算法让模糊照片秒变清晰的实战指南 每次看到朋友圈里别人发的璀璨夜景照片,再对比自己手机相册里那些模糊昏暗的失败作品,是不是总有种摔手机的冲动?先别急,可能不是你的拍摄技术问题,…...
RTOS在嵌入式开发中的核心价值与实战应用
1. RTOS在嵌入式开发中的核心价值我第一次接触RTOS是在2015年开发工业控制器时遇到的困境。当时用裸机编程实现多任务调度,代码已经膨胀到难以维护的程度。一个简单的功能修改需要通读上万行代码,调试一个BUG经常引发连锁反应。直到引入RTOS后࿰…...
基于GEC6818的牛棚智能监控系统设计与实现
1. 项目背景与需求分析现代畜牧业正经历着从传统人工管理向智能化、自动化转型的关键阶段。作为一名长期从事嵌入式系统开发的工程师,我曾参与过多个农业物联网项目,深刻理解养殖环境监控对牲畜健康和生产效率的影响。牛棚作为奶牛日常生活的主要场所&am…...
我郑重声明:我的目标是图灵奖,这是理工男的执念!所以在第一时间发现可实现AGI蓝图的时候,就给图灵奖官方邮箱发了论文PDF,这是存档+时间戳。我知道,明确知道,最终的AGI实现必然走我的路子。哈哈哈
总有人拿民科来说事,仔细想咱真也是民科,,,没啥说的,没混上教授的,那个不是民科??? 不要拿民科怎么样来说事,我开始没说自己咋样,真就只想那个图…...
2026届毕业生推荐的五大AI论文网站实际效果
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 倚仗自然语言处理跟学术知识图谱技术的AI开题报告工具,能够快速生成研究背景、文…...
过期域名抢注对SEO优化有什么影响
过期域名抢注对SEO优化有什么影响 在互联网时代,域名作为网站的“地址”在搜索引擎优化(SEO)中占据重要地位。当一个域名过期且没有被注册,它就成为了一个“空壳”,任何人都可以抢注。过期域名抢注对SEO优化有什么影响…...
从STM32切换到MSPM0G3507?这份串口驱动移植避坑指南请收好
从STM32切换到MSPM0G3507:串口驱动移植的深度避坑指南 第一次接触TI的MSPM0系列MCU时,我正为一个低成本工业传感器项目选型。作为长期使用STM32的开发者,我下意识地想把之前的串口驱动代码直接移植过去——结果在接收不定长数据时遭遇了连续…...
2026最权威的十大AI论文工具推荐
Ai论文网站排名(开题报告、文献综述、降aigc率、降重综合对比) TOP1. 千笔AI TOP2. aipasspaper TOP3. 清北论文 TOP4. 豆包 TOP5. kimi TOP6. deepseek 当今,人工智能技术于学术写作范畴的运用愈发广泛,该技术的关键价值在…...
ai一键生成node.js环境配置教程,快马平台助你跳过繁琐安装步骤
最近在学习Node.js开发时,发现环境配置这个入门步骤对新手来说确实有点麻烦。不同操作系统下的安装方式差异大,版本选择也让人纠结。好在发现了InsCode(快马)平台的AI辅助开发功能,可以自动生成完整的配置教程,分享下我的使用体验…...
