我有一些使用C++and 的经验Fortran,我想开始使用python我的后处理,因为我开始意识到MATLAB我需要做的事情是多么低效(主要涉及具有数百万个点的图)。
我已经python安装了几个版本,每次我想开始使用。现在已经变得一团糟。在 中/usr/local/bin/,这是命令ls python*返回的内容:
python python2.7 python3 python3.5 python3.5m pythonw-32
python-32 python2.7-32 python3-32 python3.5-32 python3.5m-config pythonw2.7
python-config python2.7-config python3-config python3.5-config pythonw pythonw2.7-32
Run Code Online (Sandbox Code Playgroud)
我现在想要一个干净的石板。我想要一种安全的方法来删除所有以前版本的python,包括它们的所有包,这样我就可以安装最新版本numpy并matplotlib顺利导入我想要的所有库(我遇到了一些问题)。
编辑:
我在 OSX Yosemite 10.10 上运行。
我通常运行我的代码ifort,但在实现过程中,我更喜欢编译和测试,gfortran因为我发现它比它的intel更严格.
在打开编译选项时-Wall,我收到以下警告:
Warning: Nonconforming tab character at (1)
有没有办法在使用相同的编译选项时使这一特定警告静音?请注意,我不希望用空格替换选项卡.如果没有办法解决这个问题,那么答案"不可能"就足够了.
我有一些编写fortran代码的经验,但我从未见过这样的东西.
我正在使用大型HPC代码(~10K行),我在其中修改子程序.我使用print语句验证一切都已正确完成并在必要时进行调试.当我用PRINT我使用的最后一个语句运行我的代码时,代码到处都给我实数.一旦我评论了最后一个PRINT语句,代码就是给我NaN一些变量.由于我的代码太大,我显然不能在这里发布,但我会发表PRINT声明:
PRINT*, "outletBC up1 ", SUM(ABS(up(nptsx,:,:)))
Run Code Online (Sandbox Code Playgroud)
哪里up是一些速度阵列.
题:
怎么可能?PRINT语句如何可能影响任何变量?
我正在尝试使用 makefile 编译一个大型求解器。键入 make 时,将执行以下命令:
mpif90 -O2 -fpp -I/somePath/ -c precision.F90
Run Code Online (Sandbox Code Playgroud)
我收到以下错误:
gfortran: error: unrecognized command line option ‘-fpp’
Run Code Online (Sandbox Code Playgroud)
我输入which mpif90以查看它指向的位置:
/usr/local/intel14/impi/4.1.3.048/intel64/bin/mpif90
Run Code Online (Sandbox Code Playgroud)
我尝试手动输入命令以确保它与 没有任何关系,但makefile我遇到了同样的错误。为什么会gfortran被调用?这一定是一些链接错误,但我无法弄清楚。
是否有列出目录和子目录中所有文件的命令?例如,当我清理~/Download目录时,我想将所有电影文件移动到特定目录。
如果我试试这个:
mv *.avi Directory
Run Code Online (Sandbox Code Playgroud)
子目录中的 avi 文件不会被移动。有没有办法做到这一点?
我目前正在研究大型fortran 90代码.大多数模块都有大量子程序(> 15).模块中的USE其他模块是其规范的一部分,而它们的子程序则是USE其他模块.这是它的样子:
MODULE OneModule
USE GlobalConstant
USE GlobalVariable
CONTAINS
SUBROUTINE Subroutine1()
[...]
END SUBROUTINE Subroutine1
SUBROUTINE Subroutine2()
USE Mesh
[...]
END SUBROUTINE Subroutine2
[Other Subroutines]
END MODULE OneModule
Run Code Online (Sandbox Code Playgroud)
在每个模块中看到这一点,我想知道这是为了清晰还是优化.如果模块OneModule有大量子程序,如果我们在规范部分中USE的模块MESH只有少数几个子程序需要它,它会影响性能吗?
在下面的简单示例程序中,我有一个t_cell用 5 个元素初始化的对象向量。我还有一个整数测试向量。
#include <iostream>
#include <iomanip>
#include <vector>
using namespace std;
class t_cell {
public:
int id;
t_cell operator = ( const t_cell &rhs_cell ){
t_cell lhs_cell;
lhs_cell.id = rhs_cell.id;
return lhs_cell;
}
};
int main(){
std::vector<int > test ( 5 );
std::vector<t_cell> cells( 5 );
for( size_t icell=0; icell < cells.size(); icell++ ){
test [icell] = icell;
cells[icell].id = icell;
}
for( size_t icell=0; icell < cells.size(); icell++ ){
cout << "before =" << icell << …Run Code Online (Sandbox Code Playgroud) fortran ×3
gfortran ×2
c++ ×1
compiler-bug ×1
linux ×1
optimization ×1
python ×1
shell ×1
vector ×1