Project Discussion Multi-Core Architectures and Programming



Similar documents
Parallel Programming for Multi-Core, Distributed Systems, and GPUs Exercises

Turbomachinery CFD on many-core platforms experiences and strategies

Optimizing a 3D-FWT code in a cluster of CPUs+GPUs

The High Performance Internet of Things: using GVirtuS for gluing cloud computing and ubiquitous connected devices

SierraVMI Sizing Guide

Videocard Benchmarks Over 600,000 Video Cards Benchmarked

GPUs for Scientific Computing

ANDROID DEVELOPER TOOLS TRAINING GTC Sébastien Dominé, NVIDIA

Introduction to GPU Computing

HP ProLiant SL270s Gen8 Server. Evaluation Report

GPU System Architecture. Alan Gray EPCC The University of Edinburgh

Trends in High-Performance Computing for Power Grid Applications

1 DCSC/AU: HUGE. DeIC Sekretariat /RB. Bilag 1. DeIC (DCSC) Scientific Computing Installations

The Top Six Advantages of CUDA-Ready Clusters. Ian Lumb Bright Evangelist

A general-purpose virtualization service for HPC on cloud computing: an application to GPUs

A GPU COMPUTING PLATFORM (SAGA) AND A CFD CODE ON GPU FOR AEROSPACE APPLICATIONS

Accelerating Simulation & Analysis with Hybrid GPU Parallelization and Cloud Computing

Graphics Cards and Graphics Processing Units. Ben Johnstone Russ Martin November 15, 2011

GeoImaging Accelerator Pansharp Test Results

Streamline Computing Linux Cluster User Training. ( Nottingham University)

High Performance GPGPU Computer for Embedded Systems

RWTH GPU Cluster. Sandra Wienke November Rechen- und Kommunikationszentrum (RZ) Fotos: Christian Iwainsky

Android Development: Part One

PyFR: Bringing Next Generation Computational Fluid Dynamics to GPU Platforms

Grid 101. Grid 101. Josh Hegie.

How to Run Parallel Jobs Efficiently

TEGRA X1 DEVELOPER TOOLS SEBASTIEN DOMINE, SR. DIRECTOR SW ENGINEERING

Introduction GPU Hardware GPU Computing Today GPU Computing Example Outlook Summary. GPU Computing. Numerical Simulation - from Models to Software

High Performance Computing Infrastructure at DESY

APPLICATIONS OF LINUX-BASED QT-CUDA PARALLEL ARCHITECTURE

HPC enabling of OpenFOAM R for CFD applications

PassMark - G3D Mark High End Videocards - Updated 12th of November 2015

Automated Testing of Installed Software

~ Greetings from WSU CAPPLab ~

Ensure that the AMD APP SDK Samples package has been installed before proceeding.

icer Bioinformatics Support Fall 2011

CPU Benchmarks Over 600,000 CPUs Benchmarked

Evaluation of CUDA Fortran for the CFD code Strukti

ST810 Advanced Computing

1 The Installation of GPGPUsim

Accelerating CFD using OpenFOAM with GPUs

JavaScript Applications for the Enterprise: From Empty Folders to Managed Deployments. George Bochenek Randy Jones

GPU Usage. Requirements

The Asterope compute cluster

Introduction to GPU hardware and to CUDA

IP Video Rendering Basics

Introduction to Linux and Cluster Basics for the CCR General Computing Cluster

Introducing PgOpenCL A New PostgreSQL Procedural Language Unlocking the Power of the GPU! By Tim Child

NVIDIA CUDA GETTING STARTED GUIDE FOR MICROSOFT WINDOWS

LBM BASED FLOW SIMULATION USING GPU COMPUTING PROCESSOR

A quick tutorial on Intel's Xeon Phi Coprocessor

Installation Guide. (Version ) Midland Valley Exploration Ltd 144 West George Street Glasgow G2 2HG United Kingdom

Overview of HPC Resources at Vanderbilt

Parallel Programming Survey

Home Exam 3: Distributed Video Encoding using Dolphin PCI Express Networks. October 20 th 2015

CLOUD GAMING WITH NVIDIA GRID TECHNOLOGIES Franck DIARD, Ph.D., SW Chief Software Architect GDC 2014

INF-110. GPFS Installation

1.0. User Manual For HPC Cluster at GIKI. Volume. Ghulam Ishaq Khan Institute of Engineering Sciences & Technology

Optimizing GPU-based application performance for the HP for the HP ProLiant SL390s G7 server

Introduction CMake Language Specific cases. CMake Tutorial. How to setup your C/C++ projects? Luis Díaz Más.

CHAPTER FIVE RESULT ANALYSIS

CNR-INFM DEMOCRITOS and SISSA elab Trieste

COSCO 2015 Heterogeneous Computing Programming

Development_Setting. Step I: Create an Android Project

Pedraforca: ARM + GPU prototype

Manual for using Super Computing Resources

5x in 5 hours Porting SEISMIC_CPML using the PGI Accelerator Model

Programming models for heterogeneous computing. Manuel Ujaldón Nvidia CUDA Fellow and A/Prof. Computer Architecture Department University of Malaga

Grid Engine Basics. Table of Contents. Grid Engine Basics Version 1. (Formerly: Sun Grid Engine)

The Uintah Framework: A Unified Heterogeneous Task Scheduling and Runtime System

Intel Integrated Native Developer Experience (INDE): IDE Integration for Android*

Auto-Tunning of Data Communication on Heterogeneous Systems

Mixed Precision Iterative Refinement Methods Energy Efficiency on Hybrid Hardware Platforms

The CNMS Computer Cluster

NVIDIA CUDA Software and GPU Parallel Computing Architecture. David B. Kirk, Chief Scientist

Virtual Desktop VMware View Horizon

High Performance Computing in CST STUDIO SUITE

Using Chroot to Bring Linux Applications to Android

Cluster Monitoring and Management Tools RAJAT PHULL, NVIDIA SOFTWARE ENGINEER ROB TODD, NVIDIA SOFTWARE ENGINEER

Using WestGrid. Patrick Mann, Manager, Technical Operations Jan.15, 2014

Transcend the Vision. Embedded Graphic Solutions that Lead to New Territory. Embedded Graphic Solutions.

Version Control with Subversion

Introduction to GP-GPUs. Advanced Computer Architectures, Cristina Silvano, Politecnico di Milano 1

Getting Started Android + Linux. February 27 th, 2014

Republic Polytechnic School of Information and Communications Technology C226 Operating System Concepts. Module Curriculum

Estonian Scientific Computing Infrastructure (ETAIS)

User s Manual

Release Notes for Open Grid Scheduler/Grid Engine. Version: Grid Engine

Why the Network Matters

ARM Processors for Computer-On-Modules. Christian Eder Marketing Manager congatec AG

Fast Parallel Algorithms for Computational Bio-Medicine

Git - Working with Remote Repositories

SLURM: Resource Management and Job Scheduling Software. Advanced Computing Center for Research and Education

Transcription:

Project Discussion Multi-Core Architectures and Programming Oliver Reiche, Christian Schmitt, Frank Hannig Hardware/Software Co-Design, University of Erlangen-Nürnberg May 15, 2014

Administrative Trivia Tutors Oliver Reiche Christian Schmitt Sascha Roloff Frank Hannig Place Room 01.255-128 Cauerstr. 11 91058 Erlangen Department of Computer Science Date/Time for seminar meetings: by arrangement May 15, 2014 Oliver Reiche Hardware/Software Co-Design Project Discussion 1

GPU Hardware Nvidia GPUs codesigns30: GeForce 8800 GTS 512 codesigns42: GeForce GTX 285 codesigns43: GeForce GTX 285 codesigns46: Tesla C2050 (SSH only) codesigns46: Tesla K20 (SSH only) AMD GPUs codesignsxx: Radeon HD 5870 codesignsxx: Radeon HD 6970 ARM GPUs codesignsxx: 2x ARM Mali T604 (Arndaleboard/Nexus 10) May 15, 2014 Oliver Reiche Hardware/Software Co-Design Project Discussion 2

Hardware Tilera codesigns35: Tilera TILEPro64 AMD CPU codesigns48: AMD Opteron Quad-Core (48 cores) OpenMPI Cluster all machines in room 02.133-128: 20 Intel Core i7, 4 cores (8 SMT cores), 8GiB RAM Gbit network May 15, 2014 Oliver Reiche Hardware/Software Co-Design Project Discussion 3

Software Nvidia CUDA 6.0 OpenCL 1.1 AMD APP SDK 2.9 OpenCL 1.2 Android Renderscript SDK 17 (Android 4.2.2) NDK 9d Tilera MDE 3.0 MPI Threading Building Blocks 3.0 OpenMPI 1.6 gcc 4.7.2 May 15, 2014 Oliver Reiche Hardware/Software Co-Design Project Discussion 4

Environment CUDA set environment for CUDA module load cuda CUDA SDK (/opt/cuda/sdk) examples (sources) in /opt/cuda/sdk/c/src binaries in /opt/cuda/sdk/c/bin/linux/release link against CUDA SDK add the following to your Makefile: # set directory for common. mk CUDA_SDK_PATH?= / opt / cuda / sdk ROOTDIR := $( CUDA_SDK_PATH )/ C/ src ROOTBINDIR := bin ROOTOBJDIR := obj include $( CUDA_SDK_PATH )/ C/ common / common. mk tidy clobber clean : @rm -rf bin obj May 15, 2014 Oliver Reiche Hardware/Software Co-Design Project Discussion 5

Environment OpenCL set environment for OpenCL on Nvidia GPUs module load cuda CUDA SDK (/opt/cuda/sdk) examples (sources) in /opt/cuda/sdk/opencl/src binaries in /opt/cuda/sdk/opencl/bin/linux/release link against CUDA SDK add the following to your Makefile: # set directory for common. mk CUDA_SDK_PATH?= / opt / cuda / sdk ROOTDIR := $( CUDA_SDK_PATH ) ROOTBINDIR := bin ROOTOBJDIR := obj include $( CUDA_SDK_PATH )/ OpenCL / common / common_opencl. mk tidy clobber clean : @rm -rf bin obj May 15, 2014 Oliver Reiche Hardware/Software Co-Design Project Discussion 6

Environment Tilera set environment for Tilera module load tilera Tilera MDE / opt / tilera May 15, 2014 Oliver Reiche Hardware/Software Co-Design Project Discussion 7

Environment Renderscript Either use SDK or NDK: SDK simply Eclipse NDK link against native Renderscript (C++) add the following to your CMakeLists.txt find_package ( RenderScript REQUIRED ) file ( GLOB PROJECT_CPP *. cpp ) file ( GLOB PROJECT_RS *. rs *. fs) rs_wrap_scripts ( PROJECT_CPP ${ PROJECT_RS }) rs_definitions () rs_include_directories () rs_link_libraries (${ PROJECT_NAME } stdc ++) rs_add_executable (${ PROJECT_NAME } ${ PROJECT_CPP }) May 15, 2014 Oliver Reiche Hardware/Software Co-Design Project Discussion 8

Environment OpenMPI set environment for OpenMPI: export PATH =/ usr / lib64 / mpi / gcc / openmpi / bin :${ PATH } export LD_LIBRARY_PATH =/ lib64 :/ usr / lib64 :${ LD_LIBRARY_PATH } advice: put this into your shell s config file (e.g..bashrc) execute programs mpirun -np 32 -- machinefile mymachines myprogram A machine file will be provided. May 15, 2014 Oliver Reiche Hardware/Software Co-Design Project Discussion 9

Login Each group gets one account: SSH + (Mercurial Git Subversion) SSH one user account per group: mappraktx external login via gateway codesigns14: ssh mappraktx@codesigns14. informatik. uni - erlangen. de from there all codesignsxx servers are reachable Repositories Mail us your public SSH key and choose a repository type: Mercurial hg clone ssh://mapsvn@codesigns14.informatik.uni-erlangen.de/seminar/map14/mappraktx Git git clone ssh://mapsvn@codesigns14.informatik.uni-erlangen.de/seminar/map14/mappraktx.git Subversion svn co svn+ssh://mapsvn@codesigns14.informatik.uni-erlangen.de/seminar/map14/mappraktx May 15, 2014 Oliver Reiche Hardware/Software Co-Design Project Discussion 10

Tentative Schedule status meetings every two weeks project presentations CW 28: 07.07.14 11.07.14 CW 29: 14.07.14 18.07.14 project: up to 2 students form a group project presentation: duration: (20+5) min group presentation language: English or German, as you like May 15, 2014 Oliver Reiche Hardware/Software Co-Design Project Discussion 11

Available Topics

Projects Each group selects and implements one application: mathematical problems N-Queens image processing Harris corner detection optical flow calculation Viola Jones object detection bilateral grid filter local Laplacian image compression JPEG, JPEG 2000 (complex) partial differential equation (PDE) solver May 15, 2014 Oliver Reiche Hardware/Software Co-Design Project Discussion 12

Projects Suggest own topic, e. g. neural networks, ant simulation, pattern matching computational fluid dynamics (CFD) Free choice of target architecture and programming environment: GPU / embedded GPU / Tilera / 48-core CPU / MPI cluster CUDA / OpenCL / Renderscript / TBB / pthreads / MPI Tell us your choice by Thursday next week (22 May 2014) May 15, 2014 Oliver Reiche Hardware/Software Co-Design Project Discussion 13