gpu digital lab english version

34
GPUDigitalLab Project Manager Gubanov Oleg Igorevich

Upload: oleg-gubanov

Post on 12-Apr-2017

172 views

Category:

Software


0 download

TRANSCRIPT

GPUDigitalLab

Project ManagerGubanov Oleg Igorevich

GPUDigitalLab

Aim of The Project:

To provide access to parallel computations for scientists and lab workers at a reasonable cost.

GPUDigitalLab

Solution

We, the members of the Axioma Software team, would like to purpose a cluster solutionfor parallel computations on the GPU. This product will consist of a GPU oriented serverthat will contain NVIDIA Tesla Graphics Processor at its core. The software would be builtupon Microsoft DirectCompute engine. It will be built as a set of client applications thatuse the power of the GPU core for the computtations. Each application would be orientedto either a problem or a set of problems in modern science and computer graphics. Userstarts by logging into the server and download the relevant client application. After thatthe user fills in an input form and sends the data to the server through a securedchannel. This architecture allows users to use the power of modern gpu despite the factthey have relatively cheap hardware.

Россия, гор. Екатеринбург, ул. Мира, 32

• This project consists of a gpu processing core engine that has a set of connected client applications working in allocated domains

• This project has a scalable architecture that makes it easy to install new products.

• The aim of the project is to provide the scientific community with a powerful computational platform at a reasonable price.

• The website of the project includes a dedicated control panel for each user where he can see the current account balance as well as the list of the latest operations.

Project Overview

GPUDigitalLab

SOFTWARE ARCHITECTURE

Россия, гор. Екатеринбург, ул. Мира, 32

3D Graphics Core Engine

DirectCompute Core Engine

Video Rendering

Engine

Direct2D Graphics Engine

Core Engine

Fluid Mechanics Rendering

Engine

Data Visualization

engine

FPS Scene Rendering

Engine

Render Farm Engine

3-rd Person Simulations

Engine

Mathematical

Modelling

Engine

GPUDigitalLab

SOFTWARE CONCEPT

• At the core of the system there is module that can execute compute shaderprograms and analyze results

• There are 3 types of data that we frequently need for our purposes

• Structured Buffers(used to store numerical data)

• Shader Resources(used to store texture data

• Unordered Access View(used to send the collected data to the computational pipeline

• Compute Shader(a module that collects the data stored in buffers and performs computations based upon a certain algorithm

PROGRAM STARTUP

• On startup the program open a login dialog

Login

Password

PROGRAM RUNTIME

• After Logging in the system creates a user session and sets it a unique id. Using the locking mechanism of compute shaders we create a set of writable buffers, shader resources and UAVs(unordered access views).

• The next step is to prepare our system utilities. Every single utility has a set of modules to control its correct operation.

• Every single utility of the system requires:

• Application Manager (launches the utility)

• Application Executor (controls the operation of the utility)

• Event Processor (collects errors and records them to .log files)

PROGRAM STARTUPInitialize the application

Initialize the graphics engine

Initialize compute shader management class

Initialize the system kernel

Create the user session controller

Create the application domain manger

Initialize the application executing modules

Create instances of the system utilities as child processes

Open a login window

DIRECT3D INITIALIZATION

Create the Rendering Device

Create a Render target

Create a back buffer

Create a depth stencil

Create a viewport

DIRECTCOMPUTE EXECUTION PROCESS

Compile Shader into Byte Code

Read the input data for the computation

Create Compute Shader Instance

Create constant buffers

Create Shader Resources

Create Unordered Access Views

Create Debug Buffer

Set the compute shader and its buffers and execute the shader on a

set of gpu threads

APPLICATION DOMAIN HAS

• An initialized 3D Rendering Loop

• An initialized DirectCompute processing loop

• A set of buffers for data storage

• A set of shader resources for texturing

• A set of compute shader instances

• An allocated DirectCompute manager class for operations such as data creation

• An allocated Data archiving module for compressing and decompressing data.

APPLICATION DOMAIN MANAGER

• Creates and destroys Domains

• Collects the data from event processors

• Keeps the diary of the operations.

• Controls the threads that are used by the domain

APPLICATION DOMAIN INSTANCE

• Holds the objects that are necessary for computations

• Has a collection of program objects such as buffers, resources and views.

• Provides a mechanism to edit the data stored in buffers.

• Provides a secure access to the data for client apps

APPLICATION DOMAIN INSTANCE

• An allocated memory pool for application execution

• Contains a set of predefined objects, buffers and resources.

• Allows to transfer data securely between different processes.

• Allows to load program utilities into its threads and control the operation

USER SESSION CONTROLLER

• Provides the user with a secure access to system resources

• Creates a session with a unique session id and stored its in a data archive

• Starts a thread that processes the actions of the user and sends the results to the system modules

APPLICATION MANAGER

• Has an id of a running software process

• Controls the data that is produces by the process

• Responsible for starting and terminating systemic widgets

• Responsible for transferring the data between widget.

APPLICATION EVENT PROCESSOR

• Controls the event produced by the application through a named pipe and an allocated reading thread

• Used the received data to determine the state of the executed applications.

• Sends the received info about an application to application state manager

APPLICATION STATE MANGER

• Responsible for collecting the data from application processors about the state of a module

• Responsible for informing the other participating modules about a state change for a given module.

• Responsible for sending the data about the application errors to the main processing loop.

PROGRAM TYPICAL EXECUTION THREAD

Login

• User logs into the system

Session

• User is allocated a session

Domains

• System creates a set of domains

Applications

Applications are loaded

into domains

Application Selection

User selects an

application from the

panel

Data

User enters the input

parameters into the

fields of the dialog and selects the

output format

Computation

Data is sent to a

computational engine through a secured

channel and processed

using a set of predefined algorithms

Output

User is presented

with an output that

can be saved to a

file

CLUSTER PRODUCTS OF GPUDIGITALLAB

GPUDigitalLab Core Engine

Industrial Simulations

EngineFluid Mechanics

Engine

Video Encoding and Analysis Engine

Physics and Chemistry processes Simulation

Engine

Crowd visualization

Engine

Image Processing

Engine

Render-Farm

Engine

Data-visualization

Engine

Россия, гор. Екатеринбург, ул. Мира, 32

GPUDigitalLab

7 STEPS TO USE GPUDIGITALLAB

Россия, гор. Екатеринбург, ул. Мира, 32

Go to www.omenart.ru/

gpu

Log into the system or register an

account

Select the necessary

software module from the control

panel

Input the relevant

parameters

Calculate or simulate a

temporary result

Pay for the transaction

Output and save the final result to

a file

GPUDigitalLab

FLUID DYNAMICS

Fluid Mechanics

Россия, гор. Екатеринбург, ул. Мира, 32

GPUDigitalLab

CHEMICAL REACTIONS SIMULATION

Россия, гор. Екатеринбург, ул. Мира, 32

GPUDigitalLab

BLOOD CIRCULATION SIMULATOR

Россия, гор. Екатеринбург, ул. Мира, 32

GPUDigitalLab

CROWD RENDERING SIMULATOR

Россия, гор. Екатеринбург, ул. Мира, 32

GPUDigitalLab

RAY-TRACING RENDERING SYSTEM

Россия, гор. Екатеринбург, ул. Мира, 32

GPUDigitalLab

COMPUTATIONAL FLUID MECHANICS

UPCOMING PRODUCTS

Россия, гор. Екатеринбург, ул. Мира, 32

GPUDMOLSimulationEngine – software products for molecular configurations computation and

dispertion of the electron density.

GPUSmartCrowdEngine – software to visualize and classify crowds of people for

statistical analysis

GPUConstructionDemolitionEngine –building destruction simulation engine.

GPUFireExtinguishingPlanner – training tool for a fire brigade or the workers of a

factory

UPCOMING PRODUCTS

GPUCrudeOilFlowSimulationEngine – oil pipe traffic simulation engine

GPUFlueAndColdSimulationEngine – cold and flue dispersion simulator.

GPUCavitiesSimulationEngine – dental diseases simulation engine.

GPUChemicalReactionsSimulator – a learning game where students have to

construct a chemical reaction equation using an interactive periodic table.

GPUBloodSimulationEngine – blood circulation engine.

GPUMedicalDrugSimulation – software to simulate an effect of a chemical substance on

a human body

Essential Hardware

ServerModel: GPX XT10-2260-6GPUCPU: 2 x Six-Core Intel® Xeon® Processor E5-2630 v2 2.60GHz 15MB Cache (80W)RAM: 8 x 4GB PC3-14900 1866MHz DDR3 ECC Registered DIMMHDD: 250GB SATA 6.0Gb/s 7200RPM - 2.5" - Seagate Constellation.2™4 x 800GB Micron M500DC 2.5" SATA 6.0Gb/s Solid State Drive2 x 1.6TB Intel® DC S3500 Series 2.5" SATA 6.0Gb/s Solid State Drive2 x 800GB Intel® DC S3700 Series 2.5" SATA 6.0Gb/s Solid State DriveGPU: NVIDIA® Tesla™ K40M GPU Computing Accelerator - 12GB GDDR5 - 2880 CUDA CoresNetwork Card: Intel® 10-Gigabit Ethernet Converged Network Adapter X540-T1 (1x RJ-45)UPS: APC Smart-UPS 1000VA LCD 120V - 2U RackmountOperating System: Microsoft Windows Server 2012

Россия, гор. Екатеринбург, ул. Мира, 32

Лаборатория параллельных вычислений на GPU

Essential Hardware

Designer’s PC 5CPU Core i7-4790 (3.6GHz)

RAM 32 GB

HDD 3 TB

GPU NVIDIA GeForce GTX 760 (2GB)

Keyboard Genius GK 110001

Mouse Gigabyte GM-M6800

Operating System Windows 8.1

Programmer’s PC 2CPU Core i7-4790 (3.6GHz)

RAM 16 GB

HDD 2 TB

GPU NVIDIA GeForce GTX 760 (2GB)

Keyboard Genius GK 110001

Mouse Gigabyte GM-M6800

Operating System Windows 8.1

Название темы презентации

Essential Hardware

Oculus Rift (Augmented reality glasses) 1

Black Magic Cinema Camera 1

Россия, гор. Екатеринбург, ул. Мира, 32

POTENTIAL CUSTOMERS

• Oil and Gas industries

• Medical institutions

• Educational and Research institutions

• Construction Companies

• Administration of Yekaterinburg

• Public event organizers

• Information technology companies.