Barrcuda VR Compilation Automation

Compilation is not easy and the process leave parties involved error prone. It is the intent of the company to replace this manual process with one more automated - less error prone one. This development will be done using Python 3.x

Get Started. It's Free
or sign up with your email address
Rocket clouds
Barrcuda VR Compilation Automation by Mind Map: Barrcuda VR Compilation Automation

1. Requirements

1.1. Windows VM

1.1.1. Solver

1.1.2. GUI

1.1.2.1. Windows 7 VM with Visual Studio and Qt

1.2. Linux VM

1.2.1. Solver

1.2.1.1. What VM would be a good candidate for GPU compilation (what does CUDA easily install on? Can the same OS build the GUI? Talk with Andrew on this

1.2.1.1.1. Decided to use openSUSE 13.2 based on CUDA documentation

1.2.2. GUI

1.2.2.1. Requires Qt 4.8.6 qmake and latest qmake 5.x

1.3. VM Machine: Koala

1.3.1. Host - OS: Windows 7

1.3.1.1. V2P Migration of my compilation machine can/should be used for this machine

1.3.2. Installed 128GB SSD for Host OS

1.3.3. Install 500GB SSD for Guest VMs

1.4. All scripts should be done using Python 2.x

1.4.1. BuildReleaseAndDeployBarracudaVR.py

1.4.1.1. BuildAndDeployGUI.py

1.4.1.1.1. BuildGUI.py (Builds GUI)

1.4.1.1.2. DeployGUI.py (strips(if Linux) and copys executable out to deployment location)

1.4.1.2. BuildAndDeploySolver.py

1.4.1.2.1. BuildSolver.py (Builds the solver)

1.4.1.2.2. DeploySolver.py (strips(if Linux) and copys executable out to deployment location)

1.4.1.3. CreateInstallationMedia.py (Calls bitrock to create and copy installation media directory to deployment Locations for windows and linux - also includes compression)

2. Scope of Operation

2.1. 1. Checkout latest Sover/GUI from svn on spider into a respectivley named folder

2.1.1. Windows 7

2.1.1.1. svn command tools have to be installed and added to path before use

2.1.1.1.1. Installed SVN Tools for command prompt from http://sourceforge.net/projects/win32svn/

2.1.2. Linux

2.1.2.1. Standard svn commands should work

2.1.3. checking out trunk

2.1.3.1. 1. Create temp directory; folder name "temp_ba_location"

2.1.3.2. 2. change directory to "temp_ba_location"

2.1.3.3. 3. Checkout trunk here: svn co file:///spider/svnadmin/vault/cpfd_gui/trunk

2.1.3.3.1. Check to see if temp_ba_location is empty

2.1.3.3.2. if it is empty execute svn checkout and display the stdout to consol.

2.1.3.3.3. if it is not empty, open trunk/barracuda/main.cpp and begin parsing file. If this file is print dialog "Main.cpp could not be found. Exiting." . This should exit the script.

2.1.3.4. 4. Will need to parse ./trunk/barracuda/main.cpp for #define VER_NUM "17.1.0.i021" to rename target folder name from "temp_ba_location" to "Barrcuda_VR_17.1.0.i021"

2.2. 2. Use applicable compiler (make, qmake, CUDA, Visual Studio, etc) to build the GUI and Solver.

2.2.1. Linux

2.2.1.1. see/get releaseToSpider.sh from Andrew

2.2.1.2. make

2.2.1.2.1. Called on the GUI and Solver

2.2.1.3. qmake

2.2.1.3.1. Called before make to configure the project for compilation (GUI Only)

2.2.1.4. CUDA

2.2.1.4.1. nvcc (nvidia gcc) is called to build the solver - make(gcc) is indirectly/automatically called from nvcc as a compilation dependance

2.2.2. Windows 7

2.2.2.1. Cmake

2.2.2.2. Visual Studio

2.2.2.3. CUDA

2.3. 3. Strip Linux executables (Linux Only)

2.3.1. use native strip command from bash

2.4. 4. Copy executables to deployment locations

2.4.1. example S:\software\17.1\barracuda.17.1.0.i002 and barracuda.17.1.0.i002.exe for windows version

2.5. 5. Execute Bitrock installation package creation software

2.5.1. Linux

2.5.2. Windows 7

2.6. 6. Copy installation directory to deployment location

2.6.1. Linux

2.6.2. Windows 7

2.7. 7. Create compressed file from installation directory (linux - tar.gz, windows - .zip

2.7.1. Linux

2.7.2. Windows 7

3. User Flow

3.1. Windows 7

3.2. Linux

4. Flow of Modularity

4.1. Spider web portal links added for "Developer Tools": "Build for Windows" and "Build for Linux"

4.1.1. WINDOWS BUILDER: Linked to Optimus Web Portal Buttons Added - Deploy GUI and Deploy Solver

4.1.1.1. AutoRelease.py

4.1.1.1.1. DeployGUIAndSolver.py

4.1.1.1.2. GenerateInstallMedia.py

4.1.2. LINUX BUILDER: Linked to bullfrog/prowl Web Portal Buttons Added - Deploy GUI and Deploy Solver

4.1.2.1. AutoRelease.py

4.1.2.1.1. DeployGUIAndSolver.py

4.1.2.1.2. GenerateInstallMedia.py