MCC 海洋计算挑战赛(Marine Computing Challenge)创办于 2024 年,本届大赛由中国太平洋学会主办、海光信息技术股份有限公司联合并行科技股份有限公司共同承办,是国内海洋智能计算领域标杆赛事。赛事面向大陆及港澳台高校、科研院所师生,聚焦海洋大数据、环境模拟等前沿方向,分初赛、决赛两大环节。
一、模式简介
ROMS-CoSiNE 是由区域海洋模式 ROMS 与生态模式 CoSiNE 耦合形成的物理—生态耦合数值模式,可同时模拟海洋水动力过程和营养盐、浮游植物、浮游动物、碎屑、溶解氧等生态环境要素变化,广泛应用于近海生态环境模拟、生态灾害研究和生态环境预报。
二、模式编译
解压赛题文件:
tar -xvf ROMS_CoSiNE.gz
进入代码目录:
cd ROMS_CoSiNE
vim Compilers/Linux-ifort.mk
根据平台环境调整Linux-ifort.mk中的编译选项、MPI配置 和 NetCDF 路径make clean
make
完成编译后生成模式可执行文件oceanM
注:模型代码存放路径/public/home/mcc2026_final/mcc2026_source/ROMS_CoSiNE.gz
三、模式运行
撰写测试脚本sub.sh:
#!/bin/bash
#SBATCH -p hx1hdexclu12
#SBATCH -N 1
#SBATCH -n 64
#SBATCH --exclusive
#SBATCH --time=02:00:00
ulimit -s unlimited
ulimit -l unlimited
module purge
source /public/home/mcc2026_final/mcc2026_final/soft/env.sh
rm log_SCS_Dongsha60_2021_daily.txt
cp ./Inputfiles/SCS/roms_frc_tide_SCS_org.nc ./Inputfiles/SCS/roms_frc_tide_SCS_org.nc
time mpirun -np 64 ./oceanM ROMS/External/ocean_SCS_Dongsha60_bio15.in > log_SCS_Dongsha60_2021_daily.txt
注:脚本需要用time启动运行计时,可直接在公共目录下复制sub.sh到自己的目录下运行
提交后可通过squeue命令查看运行状态
模式运行完成后,以 time 命令输出的 real 耗时作为最终运行时间
四、结果验证
通过脚本提交后确认结果准确性,验证方法如下:
module load anaconda3/2023.09
source activate /public/home/mcc2026_final/.conda/envs/vali_py3.9
python vali.py
注:验证脚本存放路径/public/home/mcc2026_final/mcc2026_source/vali.py,所有的参数验证均需正常通过
五、赛题要求
1、参数配置文件ocean_SCS_Dongsha60_bio15.in除核数配置NtileI*NtileJ外,不可修改
2、限制使用单机运行(最大使用128核),运行时间限制在2小时内
3、可以调整编译环境测试
4、不可修改代码模式计算方案、网格设置、积分时间、时间步长、输出设置
5、不可修改初始场、边界场、强迫场和生态参数文件
6、不可关闭生态模块,不可减少生态变量,不可将双向嵌套改为单向嵌套
7、比赛成绩均需在指定平台上统一验证后作为最终统计结果
8、不支持热启动
9、支持dcu卡加速,单机最多8卡可用
六、评分规则
1、比赛结果分为上机成绩、专家评审两个环节
2、上机成绩将在满足题目要求、确保结果精度的前提下,依据优化后的程序运行时间进行排名
3、结果验证精度不作为上机成绩,但会作为最终专家评审的参考标准,误差越小说明效果越好
4、结果验证不通过,取消本题上机成绩
5、不可针对某类算例进行针对性、无普适性、非通用优化,否则该部分成绩专家评审阶段酌情扣除
6、如出现作品源代码高度相似情况,则视为同一作品,取消参赛成绩。
七、作品提交规则和方法
提交内容包括:
1、优化版源代码
2、编译配置及说明文件
3、运行说明文件
4、性能优化过程记录表
5、技术报告PPT(含精度结果验证及最终上机时间截图,ppt自动播放/录屏)

