# You should be in groups (users, forest, f-liberty) # Log into mescal[1-5].cs.princeton.edu # Copy ~august/.bashrc to your home directory cp ~august/.bashrc . # Reload .bashrc source ~/.bashrc # Make a "src" directory, and go into it. mkdir src cd ~/src # Check out the necessary packages: cvs co scripts parm library glad compiler emulator # Setup the environment: ~/src/scripts/scripts/l-env > ~/.liberty # Reload .bashrc source ~/.bashrc # Install scripts: cd ~/src/scripts ./install # Install library cd ~/src/library ./install # Install parm cd ~/src/parm ./install # Install scripts: cd ~/src/glad ./install # Install emulator cd ~/src/emulator ./install # Install compiler cd ~/src/compiler ./install ######################################## # All installation done at this point ######################################## # Create test directory cd mkdir test # Use only IMPACT/IMPACT Profiling to explore the effect of FDO # You should see: # RESULT CHECK wc BEGIN # RESULT CHECK wc END # # The empty diff means no differences between emulated Lcode wc and correct result # Good Training - get estimate of performance on an 8-wide machine cd ~/test mkdir good_wc cd good_wc compile_bench wc -c2HS_im_p cat wc.HS_im_p.input1.sumview # Read the messages produced by IMPACT. What does it all mean? Tinker. # Look at HS_im_p. What does the schedule look like? tar -xzvf wc.HS_im_p.tgz Lpretty -i wc.HS_im_p # Bad Training (essentially no FDO) on same machine cd ~/test mkdir bad_wc cd bad_wc compile_bench wc -input input0 -c2HS compile_bench wc -HS2HS_im_p cat wc.HS_im_p.input1.sumview # Look at S_im_p. What does the schedule look like? tar -xzvf wc.HS_im_p.tgz Lpretty -i wc.HS_im_p # Compare results # How is the code different? # Now, run IMPACT code through the Liberty compiler and emulator for # testing. (Prior IMPACT steps not necessary - IMPACT is rerun.) # cd ~/test echo wc | l-bench O -t -ns # Explore the wc directory created and the messages generated by the # above script # Do the same as above, but Xcode profile echo wc | l-bench O -p -ns # # What extra steps were performed by -p? # # Look at wc/wc.EM4/emu/result.profile and wc/wc.Xa. What do the fields mean? # Find the profile and the attributes. # # # For next week, modify ~/src/emulator/PR_profile to measure the # maximum call depth. # # In particular, modify ~/src/emulator/PR_profile/PR_probes.h # # # Print out a "cvs diff" to show how you did it. # START EARLY so someone can help you if you get into difficulty!!! # Mailing list cos597b@cs.princeton.edu # Read a CVS short tutorial: # http://liw.iki.fi/liw/texts/using-cvs.html # http://rd13doc.cern.ch/Atlas/DaqSoft/sde/cvs/cvs.html # http://ftp.arl.mil/~butler/howto/cvs.html # (or find your own by web search) #