Difference between revisions of "Simulation/MEEP"
(→Installation Info and Log) |
(→Installation Info and Log) |
||
(8 intermediate revisions by one other user not shown) | |||
Line 31: | Line 31: | ||
1/22/2013 | 1/22/2013 | ||
− | Parallel Meep works now! | + | Parallel Meep works now! The 11/29/2012's problem has been fixed by installing Guile on all nodes of Knot with help of Paul, the system manager of Knot. |
− | The template of the .job file is as follows: | + | Tasks should be submitted via .job file. The parallel version template of the .job file is as follows: |
− | + | #!/bin/sh | |
+ | # IMPORTANT: the next line determines how many nodes to run on | ||
+ | # nodes is number of nodes, ppn= processors (cores) per node | ||
+ | #PBS -l nodes=1:ppn=8 | ||
+ | # | ||
+ | # Make sure that we are in the same subdirectory as where the qsub command | ||
+ | # is issued. | ||
+ | # | ||
+ | cd $PBS_O_WORKDIR | ||
+ | # | ||
+ | # make a list of allocated nodes(cores) | ||
+ | # Note that if multiple jobs run in same directory, use different names | ||
+ | # for example, add on jobid nmber. | ||
+ | cat $PBS_NODEFILE > nodes-$PBS_O_JOBID | ||
+ | # How many cores total do we have? | ||
+ | NO_OF_CORES=`cat $PBS_NODEFILE | egrep -v '^#'\|'^$' | wc -l | awk '{print $1}'` | ||
+ | NODE_LIST=`cat $PBS_NODEFILE ` | ||
+ | # | ||
+ | # Just for kicks, see which nodes we got. | ||
+ | echo $NODE_LIST | ||
+ | # | ||
+ | # Run the executable. *DO NOT PUT* a '&' at the end!! | ||
+ | # | ||
+ | nohup mpirun -np $NO_OF_CORES -machinefile nodes-$PBS_O_JOBID meep-mpi <MEEP_ARGUMENTS> CTL_FILE | ||
Submit this job file using command "qsub". | Submit this job file using command "qsub". | ||
− | |||
− | |||
Line 52: | Line 73: | ||
11/29/2012 | 11/29/2012 | ||
− | The parallel version MEEP (command meep-mpi) could not work. This is due to the old version of Guile 1.8.0 in the system default folder, though a latest Guile 2.0.6 has been installed in ''/home/ruiwu/install/bin'' | + | The parallel version MEEP (command meep-mpi) could not work. This is due to the old version of Guile 1.8.0 in the system default folder, though a latest Guile 2.0.6 has been installed in ''/home/ruiwu/install/bin''. |
---- | ---- |
Latest revision as of 23:10, 24 January 2013
Introduction[edit]
Meep (http://ab-initio.mit.edu/wiki/index.php/Meep) is a powerful electromagnetic field simulation tool based on finite-difference time-domain (FDTD) method.It is used to simulate integrated optical devices like ring resonators in order to build variation-aware models with high fidelity.
Usage Instruction[edit]
Meep has been successfully installed on the UCSB-CNSI clusters!
In order to apply for account, you could apply in this page:
http://csc.cnsi.ucsb.edu/forms/request-user-account
After logging in, you could simply run
/home/ruiwu/.bashrc
to set environmental variables in order that you could call Meep in any directory.
You could start with several sample simulations from the Meep tutorial (http://ab-initio.mit.edu/wiki/index.php/Meep_Tutorial). Some existing ctl files are in /home/ruiwu/meep-sim.
Installation Info and Log[edit]
Meep is installed on the Knot (http://csc.cnsi.ucsb.edu/clusters/knot) cluster of the CNSI clusters.
The installation directory is
/home/ruiwu/install
1/22/2013
Parallel Meep works now! The 11/29/2012's problem has been fixed by installing Guile on all nodes of Knot with help of Paul, the system manager of Knot.
Tasks should be submitted via .job file. The parallel version template of the .job file is as follows:
#!/bin/sh # IMPORTANT: the next line determines how many nodes to run on # nodes is number of nodes, ppn= processors (cores) per node #PBS -l nodes=1:ppn=8 # # Make sure that we are in the same subdirectory as where the qsub command # is issued. # cd $PBS_O_WORKDIR # # make a list of allocated nodes(cores) # Note that if multiple jobs run in same directory, use different names # for example, add on jobid nmber. cat $PBS_NODEFILE > nodes-$PBS_O_JOBID # How many cores total do we have? NO_OF_CORES=`cat $PBS_NODEFILE | egrep -v '^#'\|'^$' | wc -l | awk '{print $1}'` NODE_LIST=`cat $PBS_NODEFILE ` # # Just for kicks, see which nodes we got. echo $NODE_LIST # # Run the executable. *DO NOT PUT* a '&' at the end!! # nohup mpirun -np $NO_OF_CORES -machinefile nodes-$PBS_O_JOBID meep-mpi <MEEP_ARGUMENTS> CTL_FILE
Submit this job file using command "qsub".
12/13/2012
Use "GUILE_CONFIG=/home/ruiwu/install/bin/guile-config ./runconfig" command to specify the user-installed 2.0 version guile before the configure command.
11/29/2012
The parallel version MEEP (command meep-mpi) could not work. This is due to the old version of Guile 1.8.0 in the system default folder, though a latest Guile 2.0.6 has been installed in /home/ruiwu/install/bin.
10/17/2012
The following dependencies have been installed in the above directory :
meep needs guile OK
guile needs libtool OK
guile need libunistring ok
guile need libffi OK
guile needs bdw-gs ok
guile needs 4.2.x or higher version gmp OK
meep needs hdf5 OK
However, the required libctl library are from the following shared directory:
/sw/cnsi/share/libctl
The HDF5, a data format library, is installed in its serial version because there may be some conflicts on the intel parallel interface version.
The Harminv library, which is used to extract resonant frequencies and decay rates, has not been installed for now.