1 / 18

Grid Enabling Applications for the Grid: ENDYNE

Grid Enabling Applications for the Grid: ENDYNE. z. Hydrogen 2. Carbon 2. C 2 H 2 Target. Carbon 1. a. x. d=15 a.u. [ a, b ] Orientation. Hydrogen 1. b. p. b. H + Projectile, Hydrogen 3. y. Jerry Perez, Senior Administrator - Texas Tech University. ENDYNE Credits.

apria
Download Presentation

Grid Enabling Applications for the Grid: ENDYNE

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Grid Enabling Applications for the Grid: ENDYNE z Hydrogen 2 Carbon 2 C2H2 Target Carbon 1 a x d=15 a.u. [a, b] Orientation Hydrogen 1 b p b H+ Projectile, Hydrogen 3 y Jerry Perez, Senior Administrator - Texas Tech University

  2. ENDYNE Credits K. Tsereteli, S. Addepalli, J. Perez & J. A Morales

  3. What is ENDYNE? • With Coherent-States Theory, a Chemical Reaction Can Be Formulated As Reactants-to-Products Trajectories in a Quantum Phase Space As It Were Classical Mechanics • The Several Trajectories Necessary to Simulate One Single Reaction Can Be Efficiently Run in Parallel on a Compute Grid.

  4. How does ENDYNE run on a cluster? • A batch file was written for the ENDYNE users and stored in an environment variable called DYNROOT$ • The batch file that ran single processor jobs was called “endyne”. • The batch file called “run” submits multiple ENDYNE jobs into the queue by reading multiple input files from the directory “run” is ran in.

  5. How does ENDYNE run on a cluster? Before any jobs are submitted, the files must be prepared for running: 1. prepare the "endyne_H+HF_opt_pvdz.90-00.in" 2. optimize the "endyne_H+HF_opt_pvdz.90-00.in" by command "endyne endyne_H+HF_opt_pvdz.90-00.in > inin" 3. collect the zoca parameters by using collect.pe program and command "./collect.pe >outout" 4. prepare the "endyne_H+HF_run_pvdz.90-00.tmpl.in" and insert the zoca parameters from "outout" file 5. modify the "run" file to program path of input files 6. modify the  endynejob file to handle output files 7. type "./run" to submit the job 8. type "qstat" to see the job

  6. Grid enabling ENDYNE on a Cycle Scavenging Grid • Had to remove environment dependencies (DYNROOT$). • Had to recompile ENDYNE for uniprocessor capabilities. • TEST recompiled program locally before moving it onto the grid!!! • Had to register libraries and necessary input files with the grid. • Had to teach researchers how to use TechGrid campus-wide grid. • Approx 3 hours of instruction with added documentation was necessary to get them on their feet.

  7. Grid enabling ENDYNE on a Globus Grid • If all sites wish to use ENDYNE, one way is to create an environment variable called DYNROOT$. • Another way to run ENDYNE is to do away with environmental dependencies and recompile for static execution. • The following program is a Perl script written by TTU’s Srirangam Addepalli that allows users to create a GUI that runs ENDYNE and exports DYNROOT$.

  8. Grid enabling ENDYNE on a Globus Grid and a Data Grid #!/usr/bin/perl -w $run=1; while($run=="1") { system ("clear ;"); print("                                            Select one of the following options \n"); print("                                                       Type of Job        \n"); print("                                               0. Hit Zero Any time to Quit        \n"); print("                                               1. Data, Executable on Data Grid    \n"); print("                                               2. Executable on Local Node          \n"); print("                                               3. Source on Data Grid              \n"); print("                                               4. Output on Data Grid              \n"); print("                                               5. View output file                 \n");

  9. print("My Option:"); my $option = <STDIN>; if ($option==0) { exit 0; } if ($option==1) { print("                                              Data Executable on Data Grid        \n"); print("Name Executable: "); my $executable= "endyne"; print "\n"; print("Input File:"); my $input="endyne1.inp"; print"\n"; print("Output:"); my $output="endyne.out";

  10. print "\n"; print (" Available Executables \n"); system ("find /mnt/avaki/data/rangam -name $executable  > jobexec "); #open(executables, "/home/addepall/jobexec"); #@availexecutables = executables; #foreach $line (@availexecutables) #{ #   print "$line"; #} print ("1/0 for executable: \n"); $selection=<STDIN>; if ($selection=="1") { print ("......................................."); print ("\n Pushing Executable to Data Grid \n");

  11. system("globus-url-copy -vb -p 20 -dbg gsiftp://antaeus.hpcc.ttu.edu:2811/home/addepall/GRID/endyne  gsiftp://buda.tacc.utexas.edu:2811/home/addepall/endyne &"); for ($wait=0;$wait < 15; $wait=$wait+1) {  print ("*");  system("sleep  0.5;"); } print ("\n Pushing input on to remote Execute host \n"); for ($wait=0;$wait < 10; $wait=$wait+1) {  print ("*");  system("sleep  0.5;");

  12. } system ("cat /proc/net/tcp;"); #system("globus-url-copy -vb -p 20 -dbg gsiftp://antaeus.hpcc.ttu.edu:2811/home/addepall/GRID/endyne  gsiftp://buda.tacc.utexas.edu:2811/home/addepall/endyne ; system (" globus-url-copy -dbg gsiftp://antaeus.hpcc.ttu.edu:2811/home/addepall/GRID/endyne.inp gsiftp://buda.tacc.utexas.edu:2811/home/addepall/endyne.inp; globus-job-submit buda.tacc.utexas.edu:2119 /home/addepall/DrEscobar/script2.sh");  system ("cd /home/addepall/GRID/;          export DYNROOT=./;          ./endyne /mnt/avaki/data/rangam/$input > $input.out&; ");

  13. } } if ($option==2) { print("                                              Data Executable on Data Grid        \n"); print("Name of Executable: "); my $executable="ENDYNE"; print "\n"; print("Input File:"); my $input="endyne.inp"; print"\n"; print("Output:"); my $output="endyne.output"; print "\n"; {

  14. system ("cd /home/addepall/GRID/;          export DYNROOT=./;          ./endyne  endyne.inp  | tee  endyne.out "); } } if ($option==3) { print("                                              Data,Executable,Output Different Location        \n"); print("Name of Executable: "); my $executable="endyne"; print "\n"; my $input="endyne.inp"; print"\n";

  15. my $output="endyne.out"; $inputfile="$input"; $outputfile="$output"; print " \n Acquiring ENDYNE GRID IMAGE "; print "\n Running Endyne on Local Machine"; print ("\n Finished Endyne Job"); print ("\n Cleaning your tracks and Protecting your source" ); for ($wait=0;$wait < 13; $wait=$wait+1) {  print ("*");  system("sleep  0.5;"); } print ("\n"); {

  16. system ("cp  /mnt/avaki/data/rangam/*tar /home/addepall; system ("echo $MESSAGE1;          tar -xvf GRID-REAL.tar; cd GRID;          export DYNROOT=./;          echo $MESSAGE2;          ./endyne H4+-md.inp > H4+-md.out;          echo $MESSAGE3;          cp H4+-md.out ../endyne.out;          cd /home/addepall;          echo $MESSAGE4;");

  17. } } if ($option==5) { print"                           View Output File                    \n"; print("Name of outputfile \n"); my $output="endyne.out"; system ("cat $output ;"); } print " Perform Another Operation \n"; $run=1; }

  18. Questions?

More Related