From 5370df360ca8727fa3fa01ffe96a4a6bcc73b4db Mon Sep 17 00:00:00 2001 From: Thorsten Liebig Date: Thu, 27 Oct 2011 13:35:02 +0200 Subject: [PATCH] update handling MPI + matlab doc openEMS_MPI.pro is used to compile openEMS with MPI support do: qmake openEMS_MPI.pro & make -j --- matlab/RunOpenEMS_MPI.m | 15 ++++++--------- matlab/SetupMPI.m | 8 ++++++-- openEMS.pro | 5 +---- openEMS_MPI.pro | 5 +++++ 4 files changed, 18 insertions(+), 15 deletions(-) create mode 100644 openEMS_MPI.pro diff --git a/matlab/RunOpenEMS_MPI.m b/matlab/RunOpenEMS_MPI.m index a954c7e..4ca792d 100644 --- a/matlab/RunOpenEMS_MPI.m +++ b/matlab/RunOpenEMS_MPI.m @@ -4,18 +4,15 @@ function RunOpenEMS_MPI(Sim_Path, Sim_File, opts, Settings) % Run an openEMS simulation with MPI support % % % mpi binary path on all nodes needed -% Settings.MPI.Binary = '~/devel/openEMS/openEMS_MPI'; +% Settings.MPI.Binary = '/opt/openEMS/openEMS'; % % number of processes to run -% Settings.MPI.NrProc = 2; +% Settings.MPI.NrProc = 3; +% % define the mpi hosts : +% Settings.MPI.Hosts = {'host1','host2','host3'}; % -% % optional: -% % define a hostfile and number of host to boot the mpd daemon: -% Settings.MPI.HostFile = '/home/thorsten/ate-pc9x.hosts'; -% Settings.MPI.TotalNum = 2; -% -% RunOpenEMS_MPI(Sim_Path, Sim_File, NrProc, opts, Settings) +% RunOpenEMS(Sim_Path, Sim_File, NrProc, opts, Settings) % -% See also WriteOpenEMS, RunOpenEMS +% See also SetupMPI, WriteOpenEMS, RunOpenEMS % % openEMS matlab interface % ----------------------- diff --git a/matlab/SetupMPI.m b/matlab/SetupMPI.m index f941609..51d6f65 100644 --- a/matlab/SetupMPI.m +++ b/matlab/SetupMPI.m @@ -1,8 +1,12 @@ function FDTD = SetupMPI(FDTD, varargin) % function FDTD = SetupMPI(FDTD, varargin); % -% % example -% FDTD = SetupMPI(FDTD,'SplitPos_X', '-500,500','SplitPos_Z', '-500,500'); +% % example, split the FDTD mesh in 2 equal parts in x-direction +% % and split the FDTD mesh in 3 parts in z-direction, split at z=-500 and z=500 +% % this will need a Settings.MPI.NrProc of 2*3=6 +% FDTD = SetupMPI(FDTD,'SplitN_X',2 ,'SplitPos_Z', '-500,500'); +% +% See also RunOpenEMS_MPI % % openEMS matlab interface % ----------------------- diff --git a/openEMS.pro b/openEMS.pro index 7ea40d5..605cf53 100644 --- a/openEMS.pro +++ b/openEMS.pro @@ -11,7 +11,7 @@ INCLUDEPATH += ../CSXCAD \ ../fparser \ ../tinyxml LIBS += -L../CSXCAD -lCSXCAD -CONFIG = debug_and_release +CONFIG += debug_and_release ############################################################################### # CONFIG SECTION @@ -24,9 +24,6 @@ CONFIG = debug_and_release # to output length in terms of the drawing unit, uncomment: # DEFINES += OUTPUT_IN_DRAWINGUNITS -# enable MPI support -#!win32:CONFIG += MPI_SUPPORT - # CONFIG SECTION ############################################################################### diff --git a/openEMS_MPI.pro b/openEMS_MPI.pro new file mode 100644 index 0000000..d564c2b --- /dev/null +++ b/openEMS_MPI.pro @@ -0,0 +1,5 @@ +# enable MPI support +!win32:CONFIG += MPI_SUPPORT + +include(openEMS.pro) +