GPU Acceleration at Scale with Openpower Platforms In

Total Page:16

File Type:pdf, Size:1020Kb

GPU Acceleration at Scale with Openpower Platforms In GPU Acceleration at Scale with OpenPower platforms in Code_Saturne Samuel Antao1,CharlesMoulinec2,YvanFournier3,RobertSawko1, Malgorzata Zimon1,ChristopherThompson1,AlexSkillen2,JuanUribe4, David R. Emerson2 1IBMIBM Research, Confidential2SCD, STFC Daresbury Laboratory UK, 3EDF R&D FR, 4EDF R&D CentreGPU UK acceleration in Code Saturne Main accomplishments Task-based GPUIBM acceleration Confidential in CFD with OpenMP 4.5 and CUDA Whatin OpenPOWER isplatforms. the challenges? GPU acceleration in CodeResults Saturne • Library to provide GPU acceleration at CPU+GPU speedup over CPU-only and Sparse-matrix solvers which cannot Task-based GPU acceleration in CFD with OpenMP 4.5 and CUDA in OpenPOWER platforms. Domain boundaries: intra- and inter- Scattered set of compute scale for Code_Saturne running on top of take full advantage of GPUs resources efficiency (strong scale) node communication overheads. kernels/bottlenecks. OpenPower machines using CUDA. tailored for dense computation. 3.0 3.5 120% 111.4% 120% • Manage data environments:controlscope Compute Data 2.8 100.0% 3.3 98.1% 100.0% 92.9% 100% 3.1 100% 2.6 2.90 83.1% 84.8% of data in the device. 2.39 2.42 2.9 only (1x) 80% only (1x) - 71.2% 80% 2.4 2.32 - How do we tackle them? 2.22 65.0% 2.7 • Single templated device entry function 2.2 2.08 60% 2.5 2.34 60% 2.00 2.31 Efficiency 2.0 2.3 Efficiency to run application kernels back to back and 40% 2.1 40% • Mitigate latencies for launching kernels 1.8 Speedup over CPU 1.9 mitigate kernel launching latencies. 1.6 20% Speedup over CPU 20% Task-based GPU accelerationback-to-back in CFD with: OpenMP 4.5 and CUDA in OpenPOWER platforms. 1.7 TM 1.4 • Leverage NVLINK fast interconnect 0% 1.5 0% • Packing arguments of various kernels (SpMV, dot products, etc) 1 2 4 8 16 32 /Users/sfantao/Downloads/a.cpp Page 1/1 TM 64 256 512 NVLINK NVIDIA Saved: 04/10/2018, 10:09:53 Printed for: Samuel Antao 1.0 to shift bottle necks from data-movement into a single data structure. Nodes P100 Nodes Task-based GPU acceleration in CFD with OpenMP 4.5 and CUDA in OpenPOWER platforms. Speedup Efficiency Speedup Efficiency towards compute. 1 •templateLeverage<KernelKinds template Kind> pack expansion to wrap multiple kernels in a 2 __device__ int any_kernel(KernelArgsBase &Arg, unsigned n_rows_per_block) { Kernel Kernel /Users/sfantao/Downloads/a.cpp3 switch(Kind) { Page 1/1 NVLINKTM NVIDIA single CUDA kernel. (a) Gauss-Seidel solver. 1.0 P100 • 2.9x speedup over CPU-only Saved:4 04/10/2018,// Matrix-vector 10:09:53 multiplication (MSR format): Printed for: Samuel Antao 5 case MV_MSR: Kind A Task-based GPU acceleration in CFD with OpenMP 4.5 and CUDA in OpenPOWER platforms. TM 6 matrix_vector_multiplication<Kind>( Kind D 1 template<KernelKinds Kind> POWER8 + P100 GPUs (111M-cells). simulation on 256-node POWER9 7 /* dev_row_index */ Arg.getArg<cs_lnum_t *>(0), Kernel (a) 8 2 __device__ /* dev_col_id int any_kernel(KernelArgsBase */ Arg.getArg<cs_lnum_t &Arg, unsigned*>(1), n_rows_per_block) { 3 switch(Kind) { Kernel 9 Kernel /* dev_val */ Arg.getArg<cs_real_t *>(2), machine - ORNL Summit 10 4 // Matrix-vector/* dev_d_val */ multiplication Arg.getArg<cs_real_t (MSR format): *>(3), Kernel Kernel 3.5 11IBM5 case Confidential /* MV_MSR: dev_x */ Arg.getArg<cs_real_t *>(4), KindGPU B acceleration in Code Saturne 111.4% 120% 12 6 Kind A matrix_vector_multiplication<Kind>( /* dev_y */ Arg.getArg<cs_real_t *>(5), Kind C 3.3 Supercomputer. 35 100.0% 13 7 /* /*n_rows dev_row_index */ */ Arg.getArg<cs_lnum_t Arg.getArg<cs_lnum_t >(6), *>(0), Code 3.1 100% © 2018 IBM Corporation 14 8 /* /*n_cols dev_col_id */ */ Arg.getArg<cs_lnum_t Arg.getArg<cs_lnum_t >(7), *>(1), Kind C Kind D 2.90 Kernel 2.9 84.8% • Enable multi-billion-cell unstructured 15 9 /* n_rows_per_block */ n_rows_per_block); /* dev_val */ Arg.getArg<cs_real_t *>(2), Kernel only (1x) 80% Kernel - 16 10 break ; /* dev_d_val */ Arg.getArg<cs_real_t *>(3), 2.7 17 // ... mesh simulations. 11 /* dev_x */ Arg.getArg<cs_real_t *>(4), 2.5 60% 18 Kind case A DP_xx: Kind B 2.31 2.34 12 /* dev_y */ Arg.getArg<cs_real_t *>(5), Kind A 2.3 Efficiency 19 13 dot_product<Kind>( /* n_rows */ Arg.getArg<cs_lnum_t >(6), Code 40% 20 14 /* /*version n_cols */ */ Arg.getArg<cs_lnum_t Arg.getArg<cs_lnum_t >(0 ), >(7), 2.1 21 /* n_rows */ Arg.getArg<cs_lnum_t >(1), 15 /* n_rows_per_block */ n_rows_per_block); Unpack Arguments 1.9 22 /* x */ Arg.getArg<cs_real_t *>(2), Speedup over CPU What is Code_Saturne? 32 16 Kernel break; 20% 23 /* y */ nullptr, © 2018 IBM Corporation 1.7 17 // ... NVIDIA 24 /* z */ nullptr, 1.5 NVLINKTM 18 Kind C case DP_xx: Kernel Kernel Kernel 0% V100 25 /* res */ Arg.getArg<cs_real_t *>(3), 2.0 19 dot_product<Kind>( 64 256 512 26 /* n_rows_per_block */ n_rows_per_block); 20 IBM /* version Confidential */ Arg.getArg<cs_lnum_t >(0), GPU acceleration inNodes Code Saturne • www.code-saturne.org 27 break; Speedup Efficiency 28 21 // ... /* n_rows */ Arg.getArg<cs_lnum_t >(1), Kind C KindUnpack B ArgumentsKind D 22 /* x */ Arg.getArg<cs_real_t *>(2), 29 (a) Gauss-Seidel solver. TM NVIDIA Kernel} NVLINK V100 • Open-source 30 23 __syncthreads(); /* y */ nullptr, 2.0 24 /* z */ nullptr, 31 Kind return C 0; Kernel Kernel Kernel 32 25 } /* res */ Arg.getArg<cs_real_t *>(3), TM • Computational fluid 33 26 /* n_rows_per_block */ n_rows_per_block); NVLINK Unpack Arguments 2.0 NVIDIA 34 27 break; V100 dynamics (CFD) software 35 28 template // ...<KernelKinds... Kinds> Kind C Kind B Kind D 36 29 __global__ } void any_kernels(void) { Kernel Kernel Kernel Kernel 1 package 37 30 __syncthreads(); (b) POWER9 + V100 GPUs (889M-cells) . 38 31 auto return *KA =0 ;reinterpret_cast<KernelArgsSeries *>(&KernelArgsSeriesGPU[0]); 36 39 32 const} unsigned n_rows_per_block = KA->RowsPerBlock; © 2018 IBM Corporation Task-based GPU acceleration in CFD with OpenMP 4.5 and CUDA in40 OpenPOWER unsigned idx = 0; platforms. Kind B Kind D Kind A Kind A • Developed by EDF-R&D 33 Unpack Arguments • Compute and data movements overlap 41 34 42 int dummy [] = { any_kernel<Kinds>(KA->Args[idx++], n_rows_per_block)... }; 35 template<KernelKinds... Kinds> • Demonstrated good scaling characteristics: 43 (void) dummy; 36 __global__ void any_kernels(void) { almost perfectly for the GS algorithm. 44 } Kernel Kernel Kernel Kernel tailored to tackle extra large problems, e.g. 37 (a) AMG cycle overview. Specialised implementations 38 auto *KA = reinterpret_cast<KernelArgsSeries *>(&KernelArgsSeriesGPU[0]); • Consistent speedup over 2x with only 39 const unsigned n_rows_per_block = KA->RowsPerBlock; whole thermo-nuclear reactors. 40 unsigned idx = 0; Kind B Kind D Kind A Kind A 41 (b) AMG solver finer mesh. ˜100K-cells per rank. 42 int dummy [] = { any_kernel<Kinds>(KA->Args[idx++], n_rows_per_block)... }; • OpenMP + MPI - C/C++, Fortran and Python 43 (void) dummy; • NVLINK 2.0 available in POWER9 • Typical 3D 44 } Specialised implementationsmachines enables reaching better strong scaling • Combine with NVIDIA compute time AMG than its previous generation: Multiple-process service • Better efficiency when using 16x more resources for a distribution (MPS) with dual buffering 33 problem that is only 8x larger. Gauss-Seidel (GS) for Wrap kernels into a single one © 2018 IBM Corporation techniques: AMG Task-based GPU acceleration in CFD with OpenMPvelocity4.5 and CUDA in OpenPOWER and scalarsplatforms. • Improve overlap of data movements Acknowledgements CFD and Algebraic-Multigridand – AlgebraicExecution time distribution and compute in the same and across • Many components (kernels) different ranks. Multigrid (AMG) for 33 Multiple ranks with MPS POWER9 scaling experiments were only possi- contribute to total execution Single thread profiling - Code Saturne 5.0+ time © 2018 IBM Corporation pressure: AMG • Reduce device memory ble with Summit Early Access programme spon- Other • There are data dependencies allocation/movement sored by Oak Ridge Leadership Computing Facility. between consecutive kernels (b) Coarse mesh iterationoverheads detail. : Work partially funded by UKTC consortium grants • There are opportunities to Matrix-vector mult. • Create data environments without major keep data in the device MSR EP/L000261/1 and EP/R029326/1. between kernels code disruption. Pressure Figure 1: OpenMP 4.5 profiling overview of the AMG solver. Matrix-vector mult. GS (AMG) • Use own device memory pool and record • Some kernels may have CSR Dot products (b) AMG solver finer mesh. lower compute intensity, it information about data environments. More information: could still be worthwhile Gauss-Seidel solver Multigrid setup • computing them in the GPU if (Velocity) Within an environment, data stays in the Compute coarse cells [email protected] the data is already there 3.4 CUDA porting device. from fine cells (a) Gauss-Seidel solver. Other AMG-related We implemented a CUDA porting providing the same functionality as the OpenMP 4.5 porting, while (c) AMG solver coarser mesh. 10 addressing the limitations listed in Section 3.3. We implemented the port in a separate folder using C++ © 2018 IBM Corporation and exposed a C interface so that it could be invoked from within Code Saturne existing code. Figure 3: Single-rank timeline details for the CUDA port using a 1.5M-cell mesh. 3.4.1 Kernels’ implementation We implemented four templated kernels using the CUDA language: Gauss-Seidel, SpMV, dot products 8.3% - Conjugate gradient - includes MSR and CST SpMVs. and stream operations.∗ The different variations in SpMV (MSR, CSR, with/without diagonal) are con- trolled with template7.0% arguments. - Compute Similarly, coarse we cells use from template fine arguments cells to reuse code for the different flavours of dot∗ product and other stream operations. For the Gauss-Seidel kernel, we use a template argumentWe observe to control that whether the number the kernel of is combined iterations with for the the computation Gauss-Seidel of a dot-product. solver increases Using from tem- 64 to 76 for the plated functions improves the code scalability without increasing the complexity of control flows during GPUthe execution. accelerated Listings version. 6 and 7 This present solver the implementation relies on a data of the race SpMV during kernel the and execution stream operations.
Recommended publications
  • Codesaturne Practical User's Guide
    EDF R&D Fluid Dynamics, Power Generation and Environment Department Single Phase Thermal-Hydraulics Group 6, quai Watier F-78401 Chatou Cedex Tel: 33 1 30 87 75 40 Fax: 33 1 30 87 79 16 JUNE 2017 Code Saturne documentation Code Saturne version 5.0.0 practical user's guide contact: [email protected] http://code-saturne.org/ c EDF 2017 Code Saturne EDF R&D Code Saturne version 5.0.0 practical user's documentation guide Page 1/142 ABSTRACT Code Saturne is a system designed to solve the Navier-Stokes equations in the cases of 2D, 2D ax- isymmetric or 3D flows. Its main module is designed for the simulation of flows which may be steady or unsteady, laminar or turbulent, incompressible or potentially dilatable, isothermal or not. Scalars and turbulent fluctuations of scalars can be taken into account. The code includes specific modules, referred to as \specific physics", for the treatment of Lagrangian particle tracking, semi-transparent radiative transfer, gas combustion, pulverised coal combustion, electricity effects (Joule effect and elec- tric arcs) and compressible flows. Code Saturne relies on a finite volume discretisation and allows the use of various mesh types which may be hybrid (containing several kinds of elements) and may have structural non-conformities (hanging nodes). The present document is a practical user's guide for Code Saturne version 5.0.0. It is the result of the joint effort of all the members in the development team. It presents all the necessary elements to run a calculation with Code Saturne version 5.0.0.
    [Show full text]
  • Developments in the Modeling & Simulation Program at EDF
    Developments in the Modeling & Simulation Program at EDF. Potential Collaboration Topics CASL Industry Council Meeting. Charleston, SC. April 4-5 2017 Didier Banner Presentation outline EDF’s M&S tools and software policy Current trends in numerical simulation -------------------- On-going CASL – CEA –EDF collaboration Potential collaboration on the NESTOR data EDF Key figures • French NPP fleet • 58 operating reactors, from 900 MW to 1450 MW • 157 to 205 fuel assemblies per reactor • Fuel cycles - 12 or 18 months • Fuel assemblies renewal from 1/4th to 1/3rd • Some estimated costs* • One day of outage: ~1 M€ • Total fuel cost: ~5 €/MWh • Major retrofit in France: ~50 b€ Including post-Fukushima program: ~10 b€ EDF R&D KEY FIGURES Use of Modelling &Simulation - examples Resistance to impact Tightness of the (projectiles) Seismic Analysis containment vessel Environmental impacts Behaviour of turbines Dismantling Waste Storage Tightness of the primary loop Control of nuclear Behaviour of the reactions pressure vessel EDF Modeling and Simulation policy Models Specific studies: i.e FSI interaction,irradiation, turbulence,.. Codes i.e CFD (Saturne), Neutronics (Cocagne),Mechanics (Aster) Platforms Interoperability, Users’s experience --------------------- Development Strategy - examples EDF Open-Source CFD (Saturne), Mechanics(Aster), Free Surface Flow EDF developments-not open source Neutronics, Electromagnetics, … Codevelopment/Partnership Two-phase flow (Neptune), Fast transient dynamics,.. Commercial Software: Ansys, Abaqus, EDF Modeling
    [Show full text]
  • Development of a Coupling Approach for Multi-Physics Analyses of Fusion Reactors
    Development of a coupling approach for multi-physics analyses of fusion reactors Zur Erlangung des akademischen Grades eines Doktors der Ingenieurwissenschaften (Dr.-Ing.) bei der Fakultat¨ fur¨ Maschinenbau des Karlsruher Instituts fur¨ Technologie (KIT) genehmigte DISSERTATION von Yuefeng Qiu Datum der mundlichen¨ Prufung:¨ 12. 05. 2016 Referent: Prof. Dr. Stieglitz Korreferent: Prof. Dr. Moslang¨ This document is licensed under the Creative Commons Attribution – Share Alike 3.0 DE License (CC BY-SA 3.0 DE): http://creativecommons.org/licenses/by-sa/3.0/de/ Abstract Fusion reactors are complex systems which are built of many complex components and sub-systems with irregular geometries. Their design involves many interdependent multi- physics problems which require coupled neutronic, thermal hydraulic (TH) and structural mechanical (SM) analyses. In this work, an integrated system has been developed to achieve coupled multi-physics analyses of complex fusion reactor systems. An advanced Monte Carlo (MC) modeling approach has been first developed for converting complex models to MC models with hybrid constructive solid and unstructured mesh geometries. A Tessellation-Tetrahedralization approach has been proposed for generating accurate and efficient unstructured meshes for describing MC models. For coupled multi-physics analyses, a high-fidelity coupling approach has been developed for the physical conservative data mapping from MC meshes to TH and SM meshes. Interfaces have been implemented for the MC codes MCNP5/6, TRIPOLI-4 and Geant4, the CFD codes CFX and Fluent, and the FE analysis platform ANSYS Workbench. Furthermore, these approaches have been implemented and integrated into the SALOME simulation platform. Therefore, a coupling system has been developed, which covers the entire analysis cycle of CAD design, neutronic, TH and SM analyses.
    [Show full text]
  • Modeling and Distributed Computing of Snow Transport And
    Modeling and distributed computing of snow transport and delivery on meso-scale in a complex orography Modelitzaci´oi computaci´odistribu¨ıda de fen`omens de transport i dip`osit de neu a meso-escala en una orografia complexa Thesis dissertation submitted in fulfillment of the requirements for the degree of Doctor of Philosophy Programa de Doctorat en Societat de la Informaci´oi el Coneixement Alan Ward Koeck Advisor: Dr. Josep Jorba Esteve Distributed, Parallel and Collaborative Systems Research Group (DPCS) Universitat Oberta de Catalunya (UOC) Rambla del Poblenou 156, 08018 Barcelona – Barcelona, 2015 – c Alan Ward Koeck, 2015 Unless otherwise stated, all artwork including digital images, sketches and line drawings are original creations by the author. Permission is granted to copy, distribute and/or modify this document under the terms of the Creative Commons BY-SA License, version 4.0 or ulterior at the choice of the reader/user. At the time of writing, the license code was available at: https://creativecommons.org/licenses/by-sa/4.0/legalcode Es permet la lliure c`opia, distribuci´oi/o modificaci´od’aquest document segons els termes de la Lic`encia Creative Commons BY-SA, versi´o4.0 o posterior, a l’escollida del lector o usuari. En el moment de la redacci´o d’aquest text, es podia accedir al text de la llic`encia a l’adre¸ca: https://creativecommons.org/licenses/by-sa/4.0/legalcode 2 In memoriam Alan Ward, MA Oxon, PhD Dublin 1937-2014 3 4 Acknowledgements A long-term commitment such as this thesis could not prosper on my own merits alone.
    [Show full text]
  • (OSCAE.Initiative) at Universiti Teknologi Malaysia
    Open Source Computer Aided Engineering Inititive (OSCAE.Initiative) at Universiti Teknologi Malaysia Abu Hasan Abdullah Faculty of Mechanical Engineering Universiti Teknologi Malaysia March 1, 2017 Abstract Open Source Computer Aided Engineering Initiative (OSCAE.Initiative) is a public statement of principles relating to open source software for Computer Aided Engineering. It aims to pro- mote the use of open source software in engineering discipline with a goal that within the next five years, open source software will become very common tools for conducting CAE analyses. Towards this end, a small OSCAE.Initiative lab to be used for familiarizing and developmental testing of related software packages has been setup at the Marine Technology Centre, Universiti Teknology Malaysia. This paper describes the infrastructure setup, computing hardware components, multiplat- form operating environments and various categories of software packages offered at this lab which has already been identified as a blueprint for another two labs sharing a kindred spirit. 1 Overview The OSCAE.Initiative lab at Universiti Teknologi Malaysia, is located on the second floor of the Marine Technology Centre (MTC). It was established to promote the use of open source software in engineering discipline with a goal that open source software will become the tools of choice for conducting CAE analyses and simulations. Currently, the lab provides • general purpose computing facilities for educational and academic use, and • specialized (CAE) lab environments, software, and support for students, researchers and staff of MTC. Access is by terminals throughout the lab. While users are not required to have their own computers, it is recognized that many do, and facilities are provided to transfer data to and from the OSCAE.Initiative systems so that personal computers and workstations at OSCAE.Initiative lab can complement each other.
    [Show full text]
  • An Open Source Engineering Platform
    CAELinux : an open source engineering platform Joël Cugnoni, www.caelinux.com Joël Cugnoni, www.caelinux.com 19.02.2015 1 What is CAELinux ? A CAE workstation on a disk CAELinux in brief CAELinux is a « Live» Linux distribution pre-packaged with the main open source Computer Aided Engineering software available today. CAELinux is free and open source, for all usage, even commercial (*) It is based on Ubuntu LTS (12.04 64bit for CAELinux 2013) It covers all phases of product development: from mathematics, CAD, stress / thermal / fluid analysis, electronics to CAM and 3D printing How to use CAELinux: Boot : Installation Complete Live Trial, on your workstation satisfied? computer ready for use ! Or CAELinux virtual Machine Running a server in Amazon EC2 installation in OSX, Windows cloud computing (on demand, charge or other Linux per hour) Joël Cugnoni, www.caelinux.com (* except for Tetgen mesher) CAELinux: History and present Past and present: CAELinux started in 2005 as a personal project for my own use Motivation was to promote the use of scientific open source software in engineering by avoiding the complexities of code compilation and configuration. And also, I wanted to have a reference installation of Code- Aster and Salome that I could install for my own use. Until now, 11 versions have been released in ~9 years. One release per year (except 2014). Today, the latest version, CAELinux 2013, has reached 63’000 downloads in 1 year on sourceforge.net. CAELinux is used for teaching in universities, in SME’s for analysis and by many occasional users, hobbyists, hackers and Linux enthusiasts.
    [Show full text]
  • Weld Residual Stress Finite Element Analysis Validation Introduction and Overview June 14-15, 2011, Rockville, MD Paul Crooker EPRI
    Weld Residual Stress Finite Element Analysis Validation Introduction and Overview June 14-15, 2011, Rockville, MD Paul Crooker EPRI Howard Rathbun U.S. Nuclear Regulatory Commission Introduction • Welcome • Introduction by meeting attendees – Names and affiliations • Agenda – Revised since Public Meeting Announcement – Hardcopy available • Review revised agenda © 2010 Electric Power Research Institute, Inc. All rights reserved. 2 This is a Category 2 Public Meeting • Category 1 – Discussion of one particular facility or site • Category 2 – Issues that could affect multiple licensees • Category 3 – Held with representatives of non-government organizations, private citizens or interested parties, or various businesses or industries (other than those covered under Category 2) to fully engage them in a discussion on regulatory issues © 2010 Electric Power Research Institute, Inc. All rights reserved. 3 Program Overview •Scientific Weld Specimens •Fabricated Prototypic Nozzles •Phase 1A: Restrained Plates (QTY 4) •Type 8 Surge Nozzles (QTY 2) •Phase 1B: Small Cylinders (QTY 4) •Purpose: Prototypic scale under controlled NRC EPRI - - •Purpose: Develop FE models. conditions. Validate FE models. Phase 2 Phase Phase 1 Phase •Plant Components •Plant Components •WNP-3 S&R PZR Nozzles (QTY 3) •WNP-3 CL Nozzle (QTY 1) •Purpose: Validate FE models. •RS Measurements funded by NRC EPRI EPRI - - •Purpose: Effect of overlay on ID. Phase 3 Phase Phase 4 Phase © 2010 Electric Power Research Institute, Inc. All rights reserved. 4 Goals of the Meeting • Focus on finite element modeling techniques – What works well, what doesn’t • Allow meeting participants to express their views • Day 1: Present modeling and measurement results • Day 2: Discuss the implications of the findings • Present plans for documentation • Future work opportunities © 2010 Electric Power Research Institute, Inc.
    [Show full text]
  • Ubercloud HPC Experiment Compendium of Case Studies
    Digital manufacturing technology and convenient access to High Performance Computing (HPC) in industry R&D are essential to increase the quality of our products and the competitiveness of our companies. Progress can only be achieved by educating our engineers, especially those in the “missing middle,” and making HPC easier to access and use for everyone who can benefit from this advanced technology. The UberCloud HPC Experiment actively promotes the wider adoption of digital manufacturing technology. It is an example of a grass roots effort to foster collaboration among engineers, HPC experts, and service providers to address challenges at scale. The UberCloud HPC Experiment started in mid-2012 with the aim of exploring the end-to-end process employed by digital manufacturing engineers to access and use remote computing resources in HPC centers and in the cloud. In the meantime, the UberCloud HPC Experiment has achieved the participation of 500 organizations and individuals from 48 countries. Over 80 teams have been involved so far. Each team consists of an industry end-user and a software provider; the organizers match them with a well-suited resource provider and an HPC expert. Together, the team members work on the end-user’s application – defining the requirements, implementing the application on the remote HPC system, running and monitoring the job, getting the results back to the end-user, and writing a case study. Intel decided to sponsor a Compendium of 25 case studies, including the one you are reading, to raise awareness in the digital manufacturing community about the benefits and best practices of using remote HPC capabilities.
    [Show full text]
  • A Survey of Free Software for the Design, Analysis, Modelling, and Simulation of an Unmanned Aerial Vehicle
    A Survey of Free Software for the Design, Analysis, Modelling, and Simulation of an Unmanned Aerial Vehicle Tomáš Vogeltanz Department of Informatics and Artificial Intelligence Tomas Bata University in Zlín, Faculty of Applied Informatics nám. T.G. Masaryka 5555, 760 01 Zlín, CZECH REPUBLIC [email protected] Abstract—The objective of this paper is to analyze free contribute to their high performance maneuverability, wide software for the design, analysis, modelling, and simulation of an range of use, ease of control and command. [35] [50] [52] unmanned aerial vehicle (UAV). Free software is the best choice when the reduction of production costs is necessary; nevertheless, The majority of missions are ideally suited to small UAVs the quality of free software may vary. This paper probably does which are either remotely piloted or autonomous. not include all of the free software, but tries to describe or Requirements for a typical low-altitude small UAV include mention at least the most interesting programs. The first part of long flight duration at speeds between 20 and 100 km/h, cruise this paper summarizes the essential knowledge about UAVs, altitudes from 3 to 300 m, light weight, and all-weather including the fundamentals of flight mechanics and capabilities. Although the definition of small UAVs is aerodynamics, and the structure of a UAV system. The second somewhat arbitrary, vehicles with wingspans less than section generally explains the modelling and simulation of a approximately 6 m and weight less than 25 kg are usually UAV. In the main section, more than 50 free programs for the considered in this category.
    [Show full text]
  • Codesaturne Practical User's Guide
    EDF R&D Fluid Dynamics, Power Generation and Environment Department Single Phase Thermal-Hydraulics Group 6, quai Watier F-78401 Chatou Cedex Tel: 33 1 30 87 75 40 Fax: 33 1 30 87 79 16 MARCH 2013 Code Saturne documentation Code Saturne version 2.0.7 practical user's guide contact: [email protected] http://www.code-saturne.org/ c EDF 2013 Code Saturne EDF R&D Code Saturne version 2.0.7 practical user's documentation guide Page 2/185 ABSTRACT Code Saturne is a system designed to solve the Navier-Stokes equations in the cases of 2D, 2D axisym- metric or 3D flows. Its main module is designed for the simulation of flows which may be steady or unsteady, laminar or turbulent, incompressible or potentially dilatable, isothermal or not. Scalars and turbulent fluctuations of scalars can be taken into account. The code includes specific modules, referred to as \specific physics", for the treatment of lagrangian particle tracking, semi-transparent radiative transfer, gas combustion, pulverised coal combustion, electricity effects (Joule effect and electric arcs) and compressible flows. The code also includes an engineering module, Matisse, for the simulation of nuclear waste surface storage. Code Saturne relies on a finite volume discretisation and allows the use of various mesh types which may be hybrid (containing several kinds of elements) and may have structural non-conformities (hanging nodes). The present document is a practical user's guide for Code Saturne version 2.0.7. It is the result of the joint effort of all the members in the development team.
    [Show full text]
  • Codesaturne Installation Guide
    EDF R&D Fluid Dynamics, Power Generation and Environment Department Single Phase Thermal-Hydraulics Group 6, quai Watier F-78401 Chatou Cedex Tel: 33 1 30 87 75 40 Fax: 33 1 30 87 79 16 SEPTEMBER 2019 Code Saturne documentation Code Saturne version 6.0.0 installation guide contact: [email protected] http://code-saturne.org/ c EDF 2019 Code Saturne EDF R&D Code Saturne version 6.0.0 installation guide documentation Page 1/21 Code Saturne EDF R&D Code Saturne version 6.0.0 installation guide documentation Page 2/21 TABLE OF CONTENTS 1 Code Saturne Automated or manual installation.................. 3 2 Installation basics................................... 3 3 Compilers and interpreters.............................. 3 4 Loading an environment............................... 4 5 Third-Party libraries................................. 4 5.1 Installing third-party libraries for Code Saturne ................ 4 5.2 List of third-party libraries usable by Code Saturne .............. 5 5.3 Notes on some third-party tools and libraries................. 7 5.3.1 Python and PyQt............................... 7 5.3.2 Scotch and PT-Scotch............................ 7 5.3.3 MED....................................... 8 5.3.4 libCCMIO.................................... 8 5.3.5 freesteam.................................... 9 5.3.6 CoolProp.................................... 9 5.3.7 Paraview or Catalyst............................ 10 6 Preparing for build.................................. 11 6.1 Source trees obtained through a source code repository.......... 11 7 Configuration...................................... 11 7.1 Debug builds...................................... 12 7.2 Shared or static builds............................... 12 7.3 Relocatable builds.................................. 12 7.4 Compiler flags and environment variables................... 13 7.5 MPI compiler wrappers............................... 13 7.6 Environment Modules................................ 13 7.7 Remarks for very large meshes.........................
    [Show full text]
  • CFD Simulation of the Atmospheric Boundary Layer: Wall Function Problems
    1 Introduction to CFD modelling of source terms and local-scale atmospheric dispersion (Part 2 of 2) Atmospheric Dispersion Modelling Liaison Committee (ADMLC) meeting 15 May 2018 Simon Gant, Fluid Dynamics Team © Crown Copyright, HSE 2018 2 Outline . Concepts: domain, grid, boundary conditions, finite-volume method . Turbulence Modelling Part 1 – Reynolds-Averaged Navier Stokes (RANS): steady and unsteady – Large Eddy Simulation (LES) . Atmospheric boundary layers . CFD Software Part 2 . Case studies – Source terms: flashing jets, overfilling tanks – Local-scale atmospheric dispersion: Jack Rabbit II © Crown Copyright, HSE 2018 3 Turbulence Modelling (just to recap) What is Steady/Unsteady RANS and LES? © Crown Copyright, HSE 2018 4 Turbulence Modelling (just to recap) What is Steady/Unsteady RANS and LES? Next slides focus on modelling atmospheric boundary layers with RANS © Crown Copyright, HSE 2018 5 Modelling Atmospheric Boundary Layers Task: to model air flow over flat, open terrain Boundary layer “Slip” conditions, prescribed shear-stress or profiles specified prescribed wind speed on the top boundary Constant pressure on inlet boundary conditions applied on for velocity, outflow boundary temperature (needs to account for and density variation with turbulence Height height if air is treated as parameters an ideal gas or temperature variations are modelled) Wind speed A few km Air velocity set to zero on the ground boundary: wall functions © Crown Copyright, HSE 2018 6 Modelling Atmospheric Boundary Layers Problem: Atmospheric boundary layer profiles change along the domain Height Height Wind speed Wind speed A few km © Crown Copyright, HSE 2018 7 Modelling Atmospheric Boundary Layers Cause: . Standard k-ε turbulence model tuned to produced reasonable predictions in range of engineering flows (e.g.
    [Show full text]