Intel® Fortran Compiler
Build applications that can scale for the future with optimized code designed for Intel® Xeon® and compatible processors.

ifort/mpich1 problems

jackdgalloway
初学者
827 次查看
I've compiled an ifort code and am trying to run it across several nodes using mpich1. I can't though as I keep getting an error that says:

[bash]symbol lookup error: /raid/galloway/exe/mcnpx_27d_ntalmx20000_if: undefined symbol: __svml_round2[/bash]

This error is spit back by every node I'm trying to run the code on. However, what I have noticed is that the same error occurs if I try to run the code serially on one node, but haven't sourced the ifortvars variable. I'm guessing this means that the path for ifortvars is not being pushed out onto every other node, despite being set on the host node. I have added the "source ifort ..." line in my .bashrc file, but this doesn't solve the problem as I still get the error when running across nodes. What are some possible solutions? I'd like to simply compile the program initially to not require the "source ifortvars" if possible, but I've tried a series of things, including linking "-static -i-static" but to no avail for removing the need for sourcing the ifortvars. Alternatively, I don't know what to do to push the "source ifortvars ..." out to all other nodes. Any advice is greatly appreciated. Thanks.
0 项奖励
1 回复
TimP
名誉分销商 III
827 次查看
-static-intel option includes svml among the static linked libraries. That option was spelled differently in older versions of ifort, so -i-static would be synonymous. If you don't use -static-intel, you must make the ifort shared library directory visible on each node, by mounting the full compiler installation or the redistributable package on a shared file system, or installing locally on each node. You also must arrange that your shell startup file (e.g. .bashrc) on each node sets the LD_LIBRARY_PATH environment, e.g. by sourceing the ifortvars script. I think the point you have missed is that the environment variables you set locally on the launch node don't propagate to the worker nodes.
0 项奖励
回复