R****g 发帖数: 130 | 1 我有两台电脑,一个笔记本,一个台式机。两台机子都在公司局域网内,我用相同用户
名密码同时登陆两台机器,所以MPICH2注册信息两台机子也相同。
用MPICH2在笔记本上开发了一个FORTRAN程序,问题来了:
1.断掉笔记本网线(即使wifi还开着),程序无法运行,Program Exception-Access
violation
2.连上笔记本网线,程序运行正常,结果正常。
3.断掉台式机网线,程序运行正常,结果正常。
4.连上台式机网线,程序运行正常,结果不正常,副处理器跟主处理器没有交换数据,
副处理器的数据无法传递到主处理器。
请问有人遇到类似问题吗?如何解决呢,谢谢了 |
|
J********9 发帖数: 36508 | 2 有一个fortran程序,两个版本:1.MPI版本;2.None MPI版本。
这个程序里面有一些可变大小的数组需要实时分配内存空间。
当数组需要的内存空间较大的时候:None MPI版本没有问题,但
是MPI版本在给数组分配内存空间的时候始终出错。
当把数组需要的内存空间降到一定程度,两个版本都没有问题。
我不是很清楚MPICH2在并行时是如何分配内存的,有没有牛人
给指点指点,如何解决?
非常感谢 |
|
J********9 发帖数: 36508 | 3 谢谢回复 关于数据库的 很多问题我还弄不清 我需要做些research
我刚开始只在主机上测试 主机有8个CPU 用4个run的时候可以 8个的时候就有memory问
题了
关于MPICH2如何使用内存 我也不是很清楚:
比如说 没有并行运算 需要内存256M 是不是MPICH2的时候每个CPU都需要256M? 这样4
个就1024M 8个就2048M?
你如果用的是MPICH2 或者openmpi,那么很多数据库的读写是支持parrallel I/O的(
可能需要HDFS的支持)。至于你提到你用4个线程可以,8个线程就不行,是不是因为你
每个node只有4个CPU,而你的code只支持shared memory,不支持distributed memory? |
|
q********g 发帖数: 10694 | 4 Core-Shell模型使用dl-poly是最方便了。因此只好用了。
1.确定你的机器安装mpich2,我装的版本是1.2.1p1。compile的时候确定使用--enable
-f90 --enable-cxx FC=(你的fortran编译器)
2.安装fftw,我使用的2.1.5,不确定fftw3是否支持。编译时保证有--enable-mpi --
enable-fortran --enable-threads F77=(你的fortran编译器)。默认安装了双精度之
后。再安装单精度--enable-float --enable-type-prefix。
3. 安装:显卡驱动程序,cudatoolkit与SDK。我使用版本是3.1。root权限下sh ./
cudatoolkit.***.run安装即可。
把以上bin与lib或lib64设置PATH与LD_LIBRARY_PATH环境变量。(版本不一定是越新越
好,主要是看你用的软件写的时候用了什么版本。这里用了老版本主要是和我正在使用
的LAMMPS保持一致。)
把source/CUDA目录下的Makefile_CUDA复制... 阅读全帖 |
|
J********9 发帖数: 36508 | 5 其实我现在用的就是MPICH2
貌似 用MPICH2用的内存更多 比方说我用8线程做会出现VirtrualMemory问题 4线程就
没有
我现在要考虑的问题是:内存问题 (数据上限);速度问题
1.数据写入文件:多线程同时读取同一个文件 很慢很慢
2. 数据写入数组:可以多线程同时处理 但是有内存问题;如果一个线程处理,另外线
程读取,线程间交互也慢
还是应该考虑算法的改进。
另外,数据量太大时, 可以考虑利用多线程处理建立一个缓冲, 分块处理数据。一个
线程处理当前数据时,另外的线程去读取将要处理的数据到内存。 |
|
s*s 发帖数: 100 | 6 今天才解决。程序有逻辑错误,导致
MPI_Send, MPI_Recv 反复执行。
当执行过n 次后,MPICH崩溃了。
但是,如果使用MPICH2,程序是不会崩溃的,只是
一直执行,程序不会结束而已。
看来还是用MPICH2的好。
谢谢大家~ |
|
O******e 发帖数: 734 | 7 For LINKFLAGS and SYSLIB in the makefile, are those really supposed to
be absolute paths? The -L/usr/local/lib looks fine, but these
-L/mpich2-install/build/LINUX/ch_p4/lib/
-L/fftw-2.1.5/
are not right unless you really did install them at the / directory.
Check whether these should be
-L/usr/local/ . . . /mpich2-install/build/LINUX/ch_p4/lib/
-L/usr/local/ . . . /fftw-2.1.5/
or something similar. |
|
l********r 发帖数: 175 | 8 Thanks for all those information. I found that I installed intel-f and
intel-c, but when installing mpich2, I did not specify using ifort. So it
should use the default one: gcc or g77. Could that make trouble for me? I
did not see any choice to install mpich2 using ifort. But for fftw, I used
ifort to install it. |
|
|
|
|
c***r 发帖数: 1570 | 12 多谢,那我还是用Mpich吧,petsc好像默认也是mpich2 |
|
c***r 发帖数: 1570 | 13 想学习一下,最好是基于C++/C 的,比较容易懂,适合入门级,有介绍mpich2, openmpi
什么的。多谢! |
|
|
a******1 发帖数: 47 | 15 你如果用的是MPICH2 或者openmpi,那么很多数据库的读写是支持parrallel I/O的(
可能需要HDFS的支持)。至于你提到你用4个线程可以,8个线程就不行,是不是因为你
每个node只有4个CPU,而你的code只支持shared memory,不支持distributed memory? |
|
j*m 发帖数: 833 | 16 【 以下文字转载自 Programming 讨论区 】
【 原文由 jzm 所发表 】
pc上装了mpich2,要怎么搞?
多谢指教. |
|
j**u 发帖数: 6059 | 17 比如说你安装MPICH的时侯,可以选择shared memory。google MPICH2,在其主页上
有documentation,一看就明白了。 |
|
j**u 发帖数: 6059 | 18 mpich2,自己安装用shared memory模式。 |
|
j**u 发帖数: 6059 | 19 下载安装MPICH2并不是一件复杂的事情,相反应该说是一件非常简单的事情。
件。 |
|
c***r 发帖数: 1570 | 20 depends on your code, the pde solver often divides computing domain into
several pieces and assign them to nodes. |
|
|