(→Interactive Parallel Job)
(→Interactive Parallel Job)
|Line 116:||Line 116:|
===Interactive Parallel Job===
===Interactive Parallel Job===
o On sharcnet visualization workstations use the local mpi (since generally the sharcnet gcc and or openmpi modules
o On sharcnet visualization workstations use the local mpi (since generally the sharcnet gcc and or openmpi modules not available ):
module load lumerical
module load lumerical
/usr/lib64/openmpi/bin/mpirun -np -bind-to core fdtd-engine-ompi-lcl paralleltest.fsp
Note that once mpirun starts running, the command line will not return. To lumerical is running on all , connect to -, then run the command "top -u $USER" and you should running at 99% otherwise open a problem ticket.
Note that once mpirun starts running, the command line will not return. To
Revision as of 14:09, 27 August 2014
|Description: Providing photonic and optoelectronic TCAD device simulation and photonic integrated circuit design products|
|SHARCNET Package information: see LUMERICAL software page in web portal|
|Full list of SHARCNET supported software|
As of February 2013, SHARCNET no long holds the FDTD Solutions (also known as front end or GUI) licence. Users who need to use FDTD Solutions for their model construction and data analysis must obtain their own licences.
Users who previously used CAD - the Unix port of FDTD Solution GUI for model construction and data analysis - must now either possess a licence (a FLEX managed licence) that allows them to use CAD on SHARCNET systems, or use FDTD Solutions on their own computers.
Thanks to the kind donation of FDTD Engine licences by Lumerical solutions, Inc., SHARCNET will continue to support the serial farming and parallel processing of FDTD simulations on SHARCNET systems. Note the FDTD engines are the only components that are supported. We no longer have the licence for the frontend FDTD Solutions.
In general, one conducts FDTD simulations in following steps:
- Constructing model, preparing data (.fsp files), this is typically done on one's local computers, not SHARCNET clusters;
- Bringing data files to SHARCNET;
- Running simulations on SHARCNET using FDTD engines;
- Getting results back and performing analysis and modifications on local computers
It is assumed that users prepare their simulation files on their own computers with FDTD Solutions and then carry on large scale simulations--being large number of cases or large size of problems that are not feasible on their computers--on SHARCNET systems through serial farming or parallel processing. Typically this will involve transferring simulation files to SHARCNET and copying computed results back to their local computers for analysis.
To transfer data between one's computers and SHARCNET systems, one may use the common secure file transfer client software such as SSH Secure File Transfer Client, WinSCP, putty-sftp, etc. Users are referred to the tutorials on using these tools.
module load lumerical/8.7.3
Before running Lumerical for the first time, remove the following config file, if it exists:
cd ~/.config/Lumerical rm -f "FDTD Solutions.ini"
or rename it such as FDTD Solutions.ini.bak. Note the space in the filename between FDTD and Solutions.ini is required hence why quotes are being used. Removing it cleans the cache of any corrupted Lumerical license information from previous versions. Next recreate the file using a text editor by copying in the following text:
[roberpj@saw-login2:~] nano ~/.config/Lumerical/"FDTD Solutions.ini" [license] type=flex flexserver\email@example.com
The licence file can also be created with the following commands
echo [license] > "FDTD Solutions.ini" echo type=flex >> "FDTD Solutions.ini" echo "flexserver\firstname.lastname@example.org" >> "FDTD Solutions.ini"
Another option for creating or updating the FDTD Solutions.ini file is to load the lumerical module and then run the fdtd-config-license script. Specify license2.sharcnet.ca for the server, and specify 27015 for the port. The result will be the same as the previous stanza. If you want to use your own license, replace the contents of FDTD Solutions.ini with your own license information.
Submit Serial Job
o To demonstrate howto run a serial job use the nanowire example:
cp /opt/sharcnet/lumerical/8.7.3/examples/nanowire.fsp .
o To submit a serial job to the queue do:
module load lumerical sqsub -q serial -r 1.5h -o ofile.%J fdtd-engine-mpich2nem nanowire.fsp
Interactive Serial Job
o To run a interactive test, log into an orca devel node first then run:
ssh orca-dev1 module load lumerical fdtd-engine-mpich2nem nanowire.fsp
Submit Parallel Job
o To demonstrate howto run a parallel job use the paralleltest example:
cp /opt/sharcnet/lumerical/8.7.3/examples/paralleltest.fsp .
o To submit a parallel test job to the mpi queue on the clusters:
module unload intel openmpi module load lumerical/8.7.3 intel/12.1.3 openmpi/intel/1.6.2 export LD_LIBRARY_PATH=/opt/sharcnet/openmpi/1.6.2/intel/lib:$LD_LIBRARY_PATH sqsub -q mpi -r 1.5h -n 4 --mpp 1g -o ofile.%J fdtd-engine-ompi-lcl paralleltest.fsp
o To run a quick interactive test on a cluster first ssh into an orca devel node:
ssh orc-dev1 module unload intel openmpi module load lumerical/8.7.3 intel/12.1.3 openmpi/intel/1.6.2 export LD_LIBRARY_PATH=/opt/sharcnet/openmpi/1.6.2/intel/lib:$LD_LIBRARY_PATH mpirun -np 4 --bind-to-core fdtd-engine-ompi-lcl paralleltest.fsp
Interactive Parallel Job
o On sharcnet visualization workstations use the local mpi (since generally the sharcnet gcc and or openmpi modules are not available on viz stations). For example:
ssh viz7-uwo.sharcnet.ca module load lumerical /usr/lib64/openmpi/bin/mpirun -np 8 -bind-to core fdtd-engine-ompi-lcl paralleltest.fsp
Note that once mpirun starts running, the command line will not return. To verify lumerical fdtd is running on all 8cores, connect to viz7-uwo a second time, then run the command "top -u $USER" and you should 8 cores running at ~99% utilization otherwise open a problem ticket.
Using FDTD Solutions GUI CAD
This section is for those who want to build simulation models and prepare data files using Lumerical graphic user interface on SHARCNET systems using their own licence.
Without your own licence for FDTD Solutions (also named CAD for Unix), you will not be able to use it on SHARCNET systems.
As of February 2013, SHARCNET no longer has the licence to the front end GUI (CAD for Linux). Users who previously used CAD - the Unix port of FDTD Solution GUI for model construction and data analysis - must now either possess a licence (a FLEX managed licence) that allows them to use CAD on SHARCNET systems, or use FDTD Solutions on their own computers.
If one pursues to use CAD on SHARCNET systems using their own licence, he/she must first contact the administrator for technical arrangements.
To run CAD remotely on SHARCNET systems (login nodes or visualization systems) from a Windows desktop, one needs an X server running on Windows. We recommend using Xming + Putty or Cygwin/X. They are all free. Or if your connecting from a linux desktop then run the "ssh -X clustername" command for instance:
ssh -X viz4-uwo.sharcnet.ca module load lumerical cd /scratch/$USER cp /opt/sharcnet/lumerical/version/examples/paralleltest.fsp . CAD paralleltest.fsp
Using A Script to Submit Batch Jobs
Suppose you have a number of jobs you want to process at once, and you want to avoid typing job submission command multiple times, the simplest way is to put the commands in a shell script and run the shell script instead. To create a script, use an editor to create a file, say "runsim.sh", and put the following lines
#!/bin/sh sqsub -q serial -r 1.5h -o output%J fdtd-engine-mpich2nem simulation1.fsp sqsub -q serial -r 1.5h -o output%J fdtd-engine-mpich2nem simulation2.fsp ... ... sqsub -q serial -r 1.5h -o output%J fdtd-engine-mpich2nem simulationN.fsp
and save it.
To make this shell script executable, use command
chmod +x runsim.sh
To run the simulations 1 to N, as specified in the script, simply execute the command at the command line
If you have a large number of jobs and each of the .fsp files follows some pattern, e.g. a case number in ascending consecutive integer, then, you may simplify the script using a loop. The following shows an example of a script "runsims.sh" that submits 100 jobs in a loop
#!/bin/sh n=100 i=1 while [ $i -le $n ]; do sqsub -q serial -r 1.5h -o output%J fdtd-engine-mpich2nem simulation$i.fsp i=$((i+1)) done
Note the examples shown above are not just for serial jobs, it can be used for parallel jobs too. One only needs to replace the sqsub options with those relevant to parallel jobs.
o Lumerical Homepage
o Parallel Engine Issues
o Run FDTD in Single Processor Mode