竞赛通知

PAC2018优化组赛题发布

浏览次数:378 发布时间:2018-07-23 09:07:00

题目:

共轭梯度法(Conjugate Gradient)

简介:

共轭梯度法是介于最速下降法与牛顿法之间的一个方法,它仅需利用一阶导数信息,但克服了最速下降法收敛慢的缺点,又避免了牛顿法需要存储和计算Hesse矩阵并求逆的缺点,共轭梯度法不仅是解决大型线性方程组最有用的方法之一,也是解大型非线性最优化最有效的算法之一。在各种优化算法中,共轭梯度法是非常重要的一种算法,也被广泛用于科学计算中。该题目为截取POP模式中的PCG算法。 输入数据为全球0.1度的海洋数据。主要考察方向: 

1.向量化;

2.细粒度并行;

3.通信优化。

要求:

1.不可以修改:bin/pop_in (输入控制文件),src/pcg.f90(主程序)。

2.指定修改文件:solver_pcg_mod.f90 (PCG求解),及solver_pcg_mod.f90函数涉及到的其他模块文件(多数属于进行算法级别修改)。

3.目前该测试算例只支持56进程。

4.以下四项行为将被严格禁止

a)在优化的过程中,保留上次求解 Ax=b的任何中间的 “SAVE 变量或动态分配的数组”。

b)在优化的过程中,判断原始数据A,b,x的地址和上次求解时的地址一致。

c)在优化的过程中,修改变量:A,b,x的值。该变量必须在每次开始求解时,恢复到原始数据值(从数据文件中读入的数据)。

d)修改输入数据文件: *.nc(这些文件位于目录:data_in目录下)。bench01/topography.0.1,bench01/topography.0.1,bin/pcg_var,bin/pop_in,bin/vert_grid.0.1。

编译:

第一步:解压缩

第二步:进入目录,PAC2018stage1/pcg

第三步:运行脚本进行编译,compile_pcg.sh

第四步:进入目录 bin

第五步:检查以下文件是否存在:data_in ,grid.0.1, pcg_var ,pop_in , topography.0.1 ,vert_grid.0.1,pcg.x 

如果不存在执行以下步骤:

l  ln –sf ../../data_in/ .

l  ln –sf ../../bench01/grid.0.1 .

l  ln –sf ../../bench01/topography.0.1

l  退回到上级目录重新运行,编译脚本。

第五步:回到上级目录,运行执行脚本:run_pcg.sh

代码下载链接:

https://pan.baidu.com/s/1Iw8DtGG2yVHi8R0fH4j0ww 

密码:nfsr

作品提交:

本次竞赛优化组预选赛作品最晚提交时间为2018年8月12日24:00整,各参赛队完成作品后将作品打包上传至网盘后将链接提交至pac@paratera.com,邮件主题:报名编号+学校名称,如318+北京大学。

 

上一条:第六届全国并行应用挑战赛参赛通知 下一条:中国科技云·超算云助力PAC | 优化组竞赛平台发布