CM1,HACC

目录

  • CM1
    • 官网
    • 下载
    • 编译
    • 使用
    • CM1 darshan
  • HACC
    • 官网
    • 运行HACC
  • Github

CM1

什么是CM1?用科学术语来说:CM1 是一个三维、非静水力、非线性、随时间变化的数值模型,专为大气现象的理想化研究而设计。用非科学术语来说:CM1 是一个用于大气研究的计算机程序。它专为研究地球大气中相对小规模的过程(例如雷暴)而设计。CM1 是一个三维、随时间变化的非静水数值模型,主要由宾夕法尼亚州立大学 (PSU)(约 2000-2002 年)和 NSF 国家大气研究中心 (NSF NCAR) 的 George Bryan 开发)(2003 年至今)。 CM1 主要是为理想化研究而设计的,特别是深层降水对流(即雷暴)。

官网

https://www2.mmm.ucar.edu/people/bryan/cm1/

下载

https://www2.mmm.ucar.edu/people/bryan/cm1/getcode.html

编译

编辑Makefile,cd 进入src目录。在Makefile中,选择适合您的硬件的操作系统和并行化方法,并取消注释该部分中的所有行。还可以在此文件中设置/更改编译器标志。如果要使用netcdf或hdf5输出,请取消注释Makefile最顶部的相应行,并设置netcdf/hdf5发行版的路径。

#-----------------------------------------------------------------------------
#  multiple processors, distributed memory (MPI), Intel compiler 
#      (default for NCAR's derecho)
FC   = /usr/local/bin/mpif90
OPTS = -O3 -ip -assume byterecl -fp-model precise -ftz -no-fma
CPP  = cpp -C -P -traditional -Wno-invalid-pp-token -ffreestanding
DM   = -DMPI
#-----------------------------------------------------------------------------
#  multiple processors, shared memory (OpenMP), Intel compiler 
#      (can be used for NCAR's derecho)
#FC   = mpif90
#OPTS = -O3 -ip -assume byterecl -fp-model precise -ftz -no-fma -qopenmp
#CPP  = cpp -C -P -traditional -Wno-invalid-pp-token -ffreestanding
#OMP  = -DOPENMP
#-----------------------------------------------------------------------------
#  multiple processors, hybrid distributed (MPI) and shared memory (OpenMP), Intel compiler 
#      (can be used for NCAR's derecho)
#FC   = mpif90
#OPTS = -O3 -ip -assume byterecl -fp-model precise -ftz -no-fma -qopenmp
#CPP  = cpp -C -P -traditional -Wno-invalid-pp-token -ffreestanding
#DM   = -DMPI -DOPENMP
#-----------------------------------------------------------------------------
#  single processor, NVIDIA (formerly Portland Group) compiler
#FC   = nvfortran
#OPTS = -Mfree -O2 -Ktrap=none -Mautoinline -Minline=reshape
#CPP  = cpp -C -P -traditional -Wno-invalid-pp-token -ffreestanding
#-----------------------------------------------------------------------------

OPTS = -O3 -ip -assume byterecl -fp-model precise -ftz -no-fma:这些是编译器优化选项,用于控制编译器如何优化代码。

  • -O3:启用高级别优化。
  • -ip:生成优化的中间代码以支持多处理器。
  • -assume byterecl:假设所有文件都按字节记录。
  • -fp-model precise:使用严格的浮点数模型。
  • -ftz:将浮点数零化转换为非严格模式。
  • -no-fma:禁用融合乘加操作。

CPP = cpp -C -P -traditional -Wno-invalid-pp-token -ffreestanding:这是预处理器选项,用于控制预处理器的行为。

  • cpp:预处理器程序。
  • -C:保留注释。
  • -P:只进行预处理,不进行编译。
  • -traditional:使用传统语法。
  • -Wno-invalid-pp-token:禁止特定的预处理器警告。
  • -ffreestanding:编译为无操作系统支持的程序。

使用

mpirun -np 32 ./cm1.exe

CM1 darshan

# darshan log version: 3.41
# compression method: ZLIB
# exe: /wx/application/cm1r21.0/run/./cm1.exe 
# uid: 11366
# jobid: 2896858
# start_time: 1710381946
# start_time_asci: Thu Mar 14 10:05:46 2024
# end_time: 1710382091
# end_time_asci: Thu Mar 14 10:08:11 2024
# nprocs: 160
# run time: 145.1996
# metadata: lib_ver = 3.4.4
# metadata: h = romio_no_indep_rw=true;cb_nodes=4

# log file regions
# -------------------------------------------------------
# header: 1328 bytes (uncompressed)
# job data: 288 bytes (compressed)
# record table: 3711 bytes (compressed)
# POSIX module: 9003 bytes (compressed), ver=4
# LUSTRE module: 936 bytes (compressed), ver=1
# HEATMAP module: 10756 bytes (compressed), ver=1

# mounted file systems (mount point and fs type)
# -------------------------------------------------------
# mount entry:	/proc/sys/fs/binfmt_misc	autofs
# mount entry:	/sys/fs/cgroup/unified	cgroup2
# mount entry:	/sys/kernel/tracing	tracefs
# mount entry:	/sys/kernel/config	configfs
# mount entry:	/sys/fs/cgroup	tmpfs
# mount entry:	/var/volatile	tmpfs
# mount entry:	/sys/fs/bpf	bpf
# mount entry:	/dev/mqueue	mqueue
# mount entry:	/run/user/0	tmpfs
# mount entry:	/run/lock	tmpfs
# mount entry:	/dev/shm	tmpfs
# mount entry:	/thfs3	lustre
# mount entry:	/thfs1	lustre
# mount entry:	/dev	devtmpfs
# mount entry:	/run	tmpfs
# mount entry:	/	tmpfs

# *******************************************************
# POSIX module data
# *******************************************************

# description of POSIX counters:
#   POSIX_*: posix operation counts.
#   READS,WRITES,OPENS,SEEKS,STATS,MMAPS,SYNCS,FILENOS,DUPS are types of operations.
#   POSIX_RENAME_SOURCES/TARGETS: total count file was source or target of a rename operation
#   POSIX_RENAMED_FROM: Darshan record ID of the first rename source, if file was a rename target
#   POSIX_MODE: mode that file was opened in.
#   POSIX_BYTES_*: total bytes read and written.
#   POSIX_MAX_BYTE_*: highest offset byte read and written.
#   POSIX_CONSEC_*: number of exactly adjacent reads and writes.
#   POSIX_SEQ_*: number of reads and writes from increasing offsets.
#   POSIX_RW_SWITCHES: number of times access alternated between read and write.
#   POSIX_*_ALIGNMENT: memory and file alignment.
#   POSIX_*_NOT_ALIGNED: number of reads and writes that were not aligned.
#   POSIX_MAX_*_TIME_SIZE: size of the slowest read and write operations.
#   POSIX_SIZE_*_*: histogram of read and write access sizes.
#   POSIX_STRIDE*_STRIDE: the four most common strides detected.
#   POSIX_STRIDE*_COUNT: count of the four most common strides.
#   POSIX_ACCESS*_ACCESS: the four most common access sizes.
#   POSIX_ACCESS*_COUNT: count of the four most common access sizes.
#   POSIX_*_RANK: rank of the processes that were the fastest and slowest at I/O (for shared files).
#   POSIX_*_RANK_BYTES: bytes transferred by the fastest and slowest ranks (for shared files).
#   POSIX_F_*_START_TIMESTAMP: timestamp of first open/read/write/close.
#   POSIX_F_*_END_TIMESTAMP: timestamp of last open/read/write/close.
#   POSIX_F_READ/WRITE/META_TIME: cumulative time spent in read, write, or metadata operations.
#   POSIX_F_MAX_*_TIME: duration of the slowest read and write operations.
#   POSIX_F_*_RANK_TIME: fastest and slowest I/O time for a single rank (for shared files).
#   POSIX_F_VARIANCE_RANK_*: variance of total I/O time and bytes moved for all ranks (for shared files).

# WARNING: POSIX_OPENS counter includes both POSIX_FILENOS and POSIX_DUPS counts

# WARNING: POSIX counters related to file offsets may be incorrect if a file is simultaneously accessed by both POSIX and STDIO (e.g., using fileno())
# 	- Affected counters include: MAX_BYTE_{READ|WRITTEN}, CONSEC_{READS|WRITES}, SEQ_{READS|WRITES}, {MEM|FILE}_NOT_ALIGNED, STRIDE*_STRIDE

total_POSIX_OPENS: 928
total_POSIX_FILENOS: 0
total_POSIX_DUPS: 0
total_POSIX_READS: 161
total_POSIX_WRITES: 12338
total_POSIX_SEEKS: 269
total_POSIX_STATS: 819
total_POSIX_MMAPS: -1
total_POSIX_FSYNCS: 0
total_POSIX_FDSYNCS: 0
total_POSIX_RENAME_SOURCES: 0
total_POSIX_RENAME_TARGETS: 0
total_POSIX_RENAMED_FROM: 0
total_POSIX_MODE: 384
total_POSIX_BYTES_READ: 1318912
total_POSIX_BYTES_WRITTEN: 979875488
total_POSIX_MAX_BYTE_READ: 8191
total_POSIX_MAX_BYTE_WRITTEN: 341107199
total_POSIX_CONSEC_READS: 0
total_POSIX_CONSEC_WRITES: 11895
total_POSIX_SEQ_READS: 0
total_POSIX_SEQ_WRITES: 12055
total_POSIX_RW_SWITCHES: 0
total_POSIX_MEM_NOT_ALIGNED: 0
total_POSIX_MEM_ALIGNMENT: 8
total_POSIX_FILE_NOT_ALIGNED: 4969
total_POSIX_FILE_ALIGNMENT: 4096
total_POSIX_MAX_READ_TIME_SIZE: 8192
total_POSIX_MAX_WRITE_TIME_SIZE: 115200
total_POSIX_SIZE_READ_0_100: 0
total_POSIX_SIZE_READ_100_1K: 0
total_POSIX_SIZE_READ_1K_10K: 161
total_POSIX_SIZE_READ_10K_100K: 0
total_POSIX_SIZE_READ_100K_1M: 0
total_POSIX_SIZE_READ_1M_4M: 0
total_POSIX_SIZE_READ_4M_10M: 0
total_POSIX_SIZE_READ_10M_100M: 0
total_POSIX_SIZE_READ_100M_1G: 0
total_POSIX_SIZE_READ_1G_PLUS: 0
total_POSIX_SIZE_WRITE_0_100: 20
total_POSIX_SIZE_WRITE_100_1K: 314
total_POSIX_SIZE_WRITE_1K_10K: 382
total_POSIX_SIZE_WRITE_10K_100K: 7194
total_POSIX_SIZE_WRITE_100K_1M: 4428
total_POSIX_SIZE_WRITE_1M_4M: 0
total_POSIX_SIZE_WRITE_4M_10M: 0
total_POSIX_SIZE_WRITE_10M_100M: 0
total_POSIX_SIZE_WRITE_100M_1G: 0
total_POSIX_SIZE_WRITE_1G_PLUS: 0
total_POSIX_STRIDE1_STRIDE: 0
total_POSIX_STRIDE2_STRIDE: 0
total_POSIX_STRIDE3_STRIDE: 0
total_POSIX_STRIDE4_STRIDE: 0
total_POSIX_STRIDE1_COUNT: 0
total_POSIX_STRIDE2_COUNT: 0
total_POSIX_STRIDE3_COUNT: 0
total_POSIX_STRIDE4_COUNT: 0
total_POSIX_ACCESS1_ACCESS: 115200
total_POSIX_ACCESS2_ACCESS: 65536
total_POSIX_ACCESS3_ACCESS: 116160
total_POSIX_ACCESS4_ACCESS: 8192
total_POSIX_ACCESS1_COUNT: 4068
total_POSIX_ACCESS2_COUNT: 7085
total_POSIX_ACCESS3_COUNT: 360
total_POSIX_ACCESS4_COUNT: 161
total_POSIX_FASTEST_RANK: -1
total_POSIX_FASTEST_RANK_BYTES: -1
total_POSIX_SLOWEST_RANK: -1
total_POSIX_SLOWEST_RANK_BYTES: -1
total_POSIX_F_OPEN_START_TIMESTAMP: 0.013255
total_POSIX_F_READ_START_TIMESTAMP: 0.016857
total_POSIX_F_WRITE_START_TIMESTAMP: 0.020553
total_POSIX_F_CLOSE_START_TIMESTAMP: 0.017797
total_POSIX_F_OPEN_END_TIMESTAMP: 145.181315
total_POSIX_F_READ_END_TIMESTAMP: 0.090222
total_POSIX_F_WRITE_END_TIMESTAMP: 145.182856
total_POSIX_F_CLOSE_END_TIMESTAMP: 145.183334
total_POSIX_F_READ_TIME: 0.079693
total_POSIX_F_WRITE_TIME: 4.053917
total_POSIX_F_META_TIME: 1.769984
total_POSIX_F_MAX_READ_TIME: 0.000751
total_POSIX_F_MAX_WRITE_TIME: 0.120138
total_POSIX_F_FASTEST_RANK_TIME: 0.000000
total_POSIX_F_SLOWEST_RANK_TIME: 0.000000
total_POSIX_F_VARIANCE_RANK_TIME: 0.000000
total_POSIX_F_VARIANCE_RANK_BYTES: 0.000000

HACC

基准测试的目的是评估硬件加速宇宙学代码(HACC)模拟的I/O系统性能。HACC框架使用N体技术模拟在膨胀宇宙中受重力影响下无碰撞流体的结构形成。HACC I/O基准测试捕获了HACC模拟代码的I/O模式。这包括模拟产生的检查点和重启以及分析输出。它还捕获了HACC中使用的各种I/O接口,即POSIX I/O、MPI Collective I/O和MPI Independent I/O。此外,基准测试可以将输出写入单个共享文件、每个进程一个文件,或者每组进程一个文件(分区)。构建HACC I/O基准测试的机制是一个仅支持MPI的代码。有一个makefile用于构建基准测试。它依赖于POSIX和MPI-IO。

官网

https://asc.llnl.gov/coral-benchmarks#hacc

运行HACC

fakerth@fakerth-IdeaCentre-GeekPro-17IRB:/opt/software/hacc-io-master$ mpirun -n 4 ./hacc_io 100 ./100.log
-------- Aggregate Performance --------
 WRITE Checkpoint Perf: 4068.16 BW[MB/s] 100678496 Bytes 0.0236015 MaxTime[sec] 
-------- Aggregate Performance --------
 READ Restart Perf: 8656.16 BW[MB/s] 100678496 Bytes 0.011092 MaxTime[sec] 
 CONTENTS VERIFIED... Success 

Github

https://github.com/fakerst/application

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

电路板维修【一】

最近喜欢上了电路板维修,经常看很多博主的维修视频,觉得还是颇有收获的(维修板子原来有方法可循),于是做笔记如下: 一.【修了半天也没找到问题,原来是检查方向错了,变频油烟机板维修…

短剧奔向小程序,流量生意如何开启?

随着移动互联网的飞速发展,小程序作为一种轻量级、易传播的应用形态,逐渐在各个领域展现出其独特的商业价值。而最近爆火的短剧小视频作为一种受众广泛的娱乐形式,与小程序结合后,不仅为观众提供了更为便捷的观看体验,…

清华团队国产“Sora”火了!画面效果对标OpenAI,长度可达16秒,还能读懂物理规律

Sora席卷世界,也掀起了全球竞逐AI视频生成的热潮。 就在今天,国内又有一支短片引发关注。 视频来自生数科技联合清华大学最新发布的视频大模型「Vidu」。 从官宣消息看,「Vidu」支持一键生成长达16秒、分辨率达1080p的高清视频内容。 更令…

JSP ssm 智能水表管理myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 JSP ssm 智能水表管理系统是一套完善的web设计系统(系统采用SSM框架进行设计开发,springspringMVCmybatis),对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采…

JSP ssm 房屋中介管理myeclipse开发mysql数据库springMVC模式java编程计算机网页设计

一、源码特点 JSP ssm 房屋中介管理系统是一套完善的web设计系统(系统采用SSM框架进行设计开发,springspringMVCmybatis),对理解JSP java编程开发语言有帮助,系统具有完整的源代码和数据库,系统主要采…

羊大师:羊奶助孩子健康成长秘诀

羊大师:羊奶助孩子健康成长秘诀 在孩子的成长过程中,营养是支撑他们茁壮成长的基石。羊大师发现,羊奶作为一种天然的营养佳品,正以其独特的优势助力孩子的健康成长。 羊奶以其丰富的营养成分为孩子提供了全面的滋养。它富含蛋白质…

C++ -- 函数重载 、引用、 内联函数、auto、基于范围的for循环、指针空值nullptr

目录 1.函数重载 1.1函数重载: 1.2函数重载需要注意: 1.3函数重载的一些特殊情况 1.4为什么C语言不支持函数重载,C支持函数重载?底层逻辑是? 2.引用 2.1 引用特性 2.2 常引用 2.3 权限问题(权限放大,…

技术速递|Python in Visual Studio Code 2024年4月发布

排版:Alan Wang 我们很高兴地宣布 Visual Studio Code 的 Python 和 Jupyter 扩展 2024 年 4 月发布! 此版本包括以下公告: 改进了 Flask 和 Django 的调试配置流程Jupyter Run Dependent Cells with Pylance 的模块和导入分析Hatch 环境发…

牛客热题:逆序对数量

📟作者主页:慢热的陕西人 🌴专栏链接:力扣刷题日记 📣欢迎各位大佬👍点赞🔥关注🚓收藏,🍉留言 文章目录 牛客热题:逆序对数量题目链接方法一&…

【联通官网及APP注册/登录安全分析报告】

前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨大,造成亏损无底洞 …

2024服贸会,参展企业媒体宣传报道攻略

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 2024年中国国际服务贸易交易会(简称“服贸会”)是一个重要的国际贸易平台,对于参展企业来说,有效的媒体宣传报道对于提升品牌知名度、扩大…

AI应用案例:运输车辆驾驶行为分析模型

随着道路交通的发展,运输行业车辆在数量增长的同时,交通事故也越发的频繁。据统计数据显示,2021年我国发生交通事故45万起,除了机动车本身的安全配置不高、车辆众多及我国路况复杂等客观原因外,从根本上讲,…

可视化数据大屏带你走进工业4.0

工业4.0是指第四次工业革命,是对工业生产的一种新的理念和模式。它通过将物理系统与数字系统相互连接,实现工业生产的智能化、自动化和网络化。工业4.0的核心目标是通过数字化技术和数据驱动的方法,实现生产过程的高度灵活性、效率和智能化。…

探索人工智能的深度神经网络:理解、应用与未来

深度神经网络(DNNs)是一种人工智能模型,其灵感来自于人脑神经元之间的连接。它们由多个层次组成,每一层都包含多个神经元,这些神经元通过权重连接在一起。信息通过网络的输入层传递,并经过一系列隐藏层&…

Verilog复习(二)| 时延

时延分为惯性延迟(Inertial Delay (Gates) )和传输延迟(Transport Delay (Nets) ) 示例: wire #5 net_1; // 5 unit transport delayand #4 (z_out, x_in, y_in); // 4 unit inertial delay assign #3 z_out a &…

Windows安装RabbitMQ教程(附安装包)

需要两个安装包 Erlang 安装包: https://download.csdn.net/download/Brevity6/89274663 (自己从官网下载也可以) RabbitMQ Windows 安装包: https://download.csdn.net/download/Brevity6/89274667 (自己从官网下载也可以) Erlang安装 Erlang安装傻瓜式下一…

2024年想要开一家抖音小店,需要多少钱?一篇详解!

大家好,我是电商糖果 随着抖音卖货的持续火爆,抖音小店也成了电商行业讨论度最大的项目之一。 不少朋友都想知道,如果今年开抖音小店大概需要多少钱。 糖果做小店的时间也比较长,也经营了多家小店。 对于开一家抖音小店需要多…

蓝桥杯EDA客观题

目录 前言 一、PCB类知识点和题目分析 1.电阻 2.电容 3.封装类 4.单位转换类 5.电路板结构类 6.PCB绘制规则 7.立创软件 8.PCB硬件 线性电源和开关电源 二、数电知识点和题目分析 1.门电路 2.逻辑代数 3.组合逻辑电路 4.触发器 5.时序逻辑电路 6.其他 三、模…

java学习笔记反射机制

2.关于反射的理解 Reflection(反射)是被视为动态语言的关键,反射机制允许程序在执行期借助于Reflection API取得任何 类的内部信息,并能直接操作任意对象的内部属性及方法。 框架 反射 注解 设计模式。 3.体会反射机制的“动态性” //…

vue3 - 图灵

目录 vue3简介整体上认识vue3项目创建Vue3工程使用官方脚手架创建Vue工程[推荐] 主要⼯程结构 数据双向绑定vue2语法的双向绑定简单表单双向绑定复杂表单双向绑定 CompositionAPI替代OptionsAPICompositionAPI简单不带双向绑定写法CompositionAPI简单带双向绑定写法setup简写⽅…