前提・実現したいこと
mpi4pyをanacondaにインストールし、プログラムを書いたのですがImportErrorが出てしまいました。このエラーを何とかして取り除きたいと考えています。
発生している問題・エラーメッセージ
以下のメッセージのようにImportErrorが出てしまいます。
Traceback (most recent call last): File "C:\Users\user2\Downloads\XY-model-Metropolis-Simulation-master\mpi_sim.py", line 1, in <module> from mpi4py import MPI ImportError: DLL load failed: 指定されたモジュールが見つかりません。
該当のソースコード
python
1from mpi4py import MPI 2import numpy as np 3from xy import * 4 5 6comm = MPI.COMM_WORLD 7size = comm.Get_size() 8rank = comm.Get_rank() 9 10# params to change 11J = 1 12max_T = 2 13min_T = 0.01 14values_per_proccess = 10 15lattice_shape = (20, 20) 16steps = 10000 17iters_per_step = 1000 18random_state = 25 19 20T_vals = np.linspace(min_T, max_T, size * values_per_proccess)[values_per_proccess * rank:values_per_proccess * (rank+1)] 21betas = 1 / T_vals 22 23correlation_lengths = [] 24specific_heats = [] 25 26sims = 1 27 28for beta in betas: 29 xy = XYModelMetropolisSimulation(lattice_shape=lattice_shape, beta=beta, J=J, random_state=random_state) 30 xy.simulate(steps, iters_per_step) 31 correlation_lengths.append(xy.get_correlation_length()) 32 specific_heats.append(xy.get_specific_heat()) 33 print('Rank %d finished sim %d of %d' %(rank, sims, values_per_proccess)) 34 sims += 1 35 36 37 38correlation_lengths = np.array(correlation_lengths) 39specific_heats = np.array(specific_heats) 40 41print('Rank %d finished all sims' % (rank)) 42 43all_correlation_lengths = None 44all_specific_heats = None 45if rank == 0: 46 all_correlation_lengths = np.empty([size, values_per_proccess], dtype=np.float) 47 all_specific_heats = np.empty([size, values_per_proccess], dtype=np.float) 48comm.Gather(correlation_lengths, all_correlation_lengths, root=0) 49comm.Gather(specific_heats, all_specific_heats, root=0) 50 51if rank == 0: 52 T_vals = np.linspace(min_T, max_T, size * values_per_proccess) 53 data = np.concatenate((T_vals.reshape(size * values_per_proccess, 1), 54 all_correlation_lengths.flatten().reshape(size * values_per_proccess, 1), 55 all_specific_heats.flatten().reshape(size * values_per_proccess, 1)), 56 axis=1) 57 np.save('data.npy', data)
試したこと
mpi4pyがインストールされているか確認するために以下のテストを行いました。
python
1import mpi4py
結果エラーは出なかったので、mpi4py自体はインストールされていると思われます。しかし、
python
1from mpi4py import MPI
とするとやはりエラーが出ました。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。