Skip to content

Translate a black and white image into code that a sailfish simulation can run

Notifications You must be signed in to change notification settings

12qusd/PythonImageTranslation

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

1 Commit
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

About

Captures a hand drawn image using a Jetson TX1s build in camera and inputs it into a liquid simulation.

This a proof of concept project created by Xavier Quinn and Shingo Lavine to demonstrate capabilities of heterogenous computers and the clustering of them.

##Installation

###Connect board to internet Log in to the Jetson board with the default password of ubuntu Click on the wifi symbol in the top right hand corner Put in your wifi credentials

###Put the required files on your board

Open up your terminal by either clicking on the terminal icon or using the keyboard shortcut CTRL+ALT+T

run sudo apt-get install git

Be sure you are in home dir cd ~

run git clone https://github.com/12qusd/PythonImageTranslation.git image

##Setting up

run cd ~/image

run sudo ./setup.sh

##Usage

Be sure you are in image dir cd ~/image Then run ./go.sh

press any key to dismiss the image, and press space or r to continue or retake the image.

You can run ./tegra.sh to get the average CPU usage (which uses \home\ubuntu\tegrastats)

##Clustering

This is a more complicated proccess without a a clean output, so we do not suggest this unless you know what you are doing.

cluster.py is an example of cluster definition file

Cluster definition requires passwordless ssh to be set up between all nodes and that all required software is on each node

To setup passwordless ssh run ssh-keygen -t rsa

The IP of each of the compute nodes must be within /etc/hosts

Then run ssh-copy-id <username>@<hostname for each of the compute nodes

You must set up DHCP and have each of the nodes you want to use in the cluster definition file

Then you will run python working.py --cluster_spec=cluster.py --subdomains <number of subdomains>

Other possible arguments include:

--cluster_spec=cluster.py (to set cluster definition)

--cluster_sync=$PWD (sync up cluster files so that sailfish can run on each, we recommend doing this the first time and after any change to the code)

--max_iters 10000 (or whatever number you want for max iterations)

--subdomains 3 (or multiple of however many nodes are being used)

--output DIRECTORY/FILENAME (set where you want output)

--output_format vtk,npy,mat (we used vtk and paraview to see results)

Running on multiples nodes will split the output, which must be combined and viewed in a separate program, paraview seems to work.

About

Translate a black and white image into code that a sailfish simulation can run

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published