computational-sediment-hyd.hatenablog.jp
をふまえて,
computational-sediment-hyd.hatenablog.jp
の続きです.
テストコードは前回と一緒です.
環境
環境について,AWS-EC2の環境について,容量不足でintel compilerが入らなかったので,前回よりストレージを無料枠の最大の30GBまで大きくしました.
AWS-EC2
- EC2 t2.micro ストレージ30GB,東京リージョン:無料枠を利用
- ubuntu18.04
- gfortran GNU Fortran 7.3.0
- ifort version 19.0.2.187
local-wsl-ubuntu
- CPU:intel Core i7-8550U
- windows10proのWSLのubuntu18.04
- gfortran GNU Fortran 7.3.0
- ifort version 19.0.2.187
local-windows10
結果
前回と少し結果が変わったので前回の条件のものも再記します.
AWS-EC2
- gfortran : 6.4sec
- ifort : 6.4sec
- ifort -fast option : 6.4sec
local-wsl-ubuntu
- gfortran : 5.2sec
- ifort : 4.7sec
- ifort -fast option : 4.3sec
local-windows10
- gfortran : 5.4sec
考察
- AWSの場合,intelを使っても全然早くない.なぜでしょう?大規模コードならもう少し差がでるかも.
- localは,さすがintelさんです.
- localのwindowsとubuntuの差はほとんどない.
- 上の結果からわかりませんが,AWSは各計算で計算時間がほとんど同じ.一方,localは他のタスクの影響をもろに受けるので時間差がでる.
もう少しいろいろ試してみます.
- intel compilerには,pythonも入ってますが,その中には,環境管理のため,conda intel pythonが入ってます.そのcondaのrootがすでにintelpythonの環境になってます.
- Use numba in intel python environment, but get more running time and memory errorをみると,numbaもさらに高速化できそうです.