Meeting Update: Monday April 1, 2013
Updates:
Possibly Useful New Tool from Rice University: HPCToolkit (CGO'11, ISPASS'13, hpctoolkit.org, installed at rice, UMich, etc.)˘
- Can break cache miss latency down to each variable.
- Latency is read at register.
- Every 64,000th instruction (randomly - on average), latency is read.
A single instruction records what happens to it (hit or miss).
With interest, I may be able to install this on one or more CRC or physics machines.
Should be able to continue working on RubyBEAR next week after midterm and paper resubmit deadline.
Meeting Update: Monday March 4, 2013
Working on server - Rails provides an excellent framework, but comes at the cost of a steeper learning curve.
Progress Web server that displays video.
Next Include web forms to modify the Ruby module classes.
Meeting Update: Monday February 25, 2013
May have gotten VisIt plotting to work (seems to be a Mac - Linux problem that may disappear when script is run by server).
Working on writing a server - if that DOES work with the VisIt script, good. If not, then I will try alternate plotting.
Wrote Joint PhD proposal and met with Wendi Heinzelman.
Meeting Update: Monday February 4, 2013
Done:
- Script written that
- Modifies module.
- Compiles.
- Runs.
- Plots with VisIt.
- Creates video of data.
Current Roadblock:
- VisIt doesn't work with ssh -Y connection - I don't need Xwindows to work, but VisIt assumes it does and crashes.
Next:
- Get VisIt to work via ssh.
- Begin implementing server interface for working with this framework.
Meeting Update: Monday January 28, 2013
Have ruby framework for modifying existing module, compiling and running automatically.
Next I will learn how to write/run Visit scripts for automatic plotting.
Meeting Update: Monday January 21, 2013
- Created singleton classes for data files in template module:
- GlobalData.rb
- PhysicsData.rb
- ProblemData.rb
- ScalesData.rb
- SolverData.rb
- Each class can have one instance.
- <file>.data is written automatically when a change is made to any instance variable.
- The instance variables will be modified by the user through a GUI or simple interface.
- Example
Code highlighting:
#ProblemData.rb require 'singleton' class ProblemData include Singleton def self.attr_accessor(*names) names.each { |name| module_eval %Q{ attr_reader :#{name} def #{name}= (value) @#{name} = value self.print end } } end attr_accessor :density, :pressure, :velocity def initialize @density = 1 @pressure = 1 @velocity = [0,0,0] self.print end def print(filename="problem.data") File.new(filename,"w").puts %Q{ &AmbientData density = #{@density} pressure = #{@pressure} velocity = #{@velocity.join(",")} / } end end
Meeting Update: Monday January 14, 2013
- Familiarized with contents of global.data (with Erica's help)
- Thoughts for GUI
- Choose existing module
- Set up directory on host machine where code can be modified through web GUI
- Compiled, run, and plotted on web host
- Images or videos are then served to browser
- Set up directory on host machine where code can be modified through web GUI
- Choose existing module
- Ruby on rails ?
- Existing U of R "Webwork" server ?
- Barebones server (starting from something I wrote) ?