Network


Latest external collaboration on country level. Dive into details by clicking on the dots.

Hotspot


Dive into the research topics where Trond Runar Hagen is active.

Publication


Featured researches published by Trond Runar Hagen.


Scientific Programming | 2010

State-of-the-art in heterogeneous computing

André Rigland Brodtkorb; Christopher Dyken; Trond Runar Hagen; Jon M. Hjelmervik; Olaf O Storaasli

Node level heterogeneous architectures have become attractive during the last decade for several reasons: compared to traditional symmetric CPUs, they offer high peak performance and are energy and/or cost efficient. With the increase of fine-grained parallelism in high-performance computing, as well as the introduction of parallelism in workstations, there is an acute need for a good overview and understanding of these architectures. We give an overview of the state-of-the-art in heterogeneous computing, focusing on three commonly found architectures: the Cell Broadband Engine Architecture, graphics processing units (GPUs), and field programmable gate arrays (FPGAs). We present a review of hardware, available software tools, and an overview of state-of-the-art techniques and algorithms. Furthermore, we present a qualitative and quantitative comparison of the architectures, and give our view on the future of heterogeneous computing.


Journal of Parallel and Distributed Computing | 2013

Graphics processing unit (GPU) programming strategies and trends in GPU computing

André Rigland Brodtkorb; Trond Runar Hagen; Martin Lilleeng Sætra

Over the last decade, there has been a growing interest in the use of graphics processing units (GPUs) for non-graphics applications. From early academic proof-of-concept papers around the year 2000, the use of GPUs has now matured to a point where there are countless industrial applications. Together with the expanding use of GPUs, we have also seen a tremendous development in the programming languages and tools, and getting started programming GPUs has never been easier. However, whilst getting started with GPU programming can be simple, being able to fully utilize GPU hardware is an art that can take months or years to master. The aim of this article is to simplify this process, by giving an overview of current GPU programming strategies, profile-driven development, and an outlook to future trends.


international conference on computational science | 2006

Solving the euler equations on graphics processing units

Trond Runar Hagen; Knut-Andreas Lie; Jostein R. Natvig

The paper describes how one can use commodity graphics cards (GPUs) as a high-performance parallel computer to simulate the dynamics of ideal gases in two and three spatial dimensions. The dynamics is described by the Euler equations, and numerical approximations are computed using state-of-the-art high-resolution finite-volume schemes. These schemes are based upon an explicit time discretisation and are therefore ideal candidates for parallel implementation.


Simulation Modelling Practice and Theory | 2005

Visual simulation of shallow-water waves

Trond Runar Hagen; Jon M. Hjelmervik; Knut-Andreas Lie; Jostein R. Natvig; M. Ofstad Henriksen

A commodity-type graphics card (GPU) is used to simulate nonlinear water waves described by a system of balance laws called the shallow-water system. To solve this hyperbolic system we use explicit high-resolution central-upwind schemes, which are particularly well suited for exploiting the parallel processing power of the GPU. In fact, simulations on the GPU are found to run 15‐30 times faster than on a CPU. The simulated cases involve dry-bed zones and non-trivial bottom topographies, which are real challenges to the robustness and accuracy of the discretization.


Computing and Visualization in Science | 2010

Simulation and visualization of the Saint-Venant system using GPUs

André Rigland Brodtkorb; Trond Runar Hagen; Knut-Andreas Lie; Jostein R. Natvig

We consider three high-resolution schemes for computing shallow-water waves as described by the Saint-Venant system and discuss how to develop highly efficient implementations using graphical processing units (GPUs). The schemes are well-balanced for lake-at-rest problems, handle dry states, and support linear friction models. The first two schemes handle dry states by switching variables in the reconstruction step, so that bilinear reconstructions are computed using physical variables for small water depths and conserved variables elsewhere. In the third scheme, reconstructed slopes are modified in cells containing dry zones to ensure non-negative values at integration points. We discuss how single and double-precision arithmetics affect accuracy and efficiency, scalability and resource utilization for our implementations, and demonstrate that all three schemes map very well to current GPU hardware. We have also implemented direct and close-to-photo-realistic visualization of simulation results on the GPU, giving visual simulations with interactive speeds for reasonably-sized grids.


EURO Journal on Transportation and Logistics | 2013

GPU computing in discrete optimization. Part II: Survey focused on routing problems

Christian Ferdinand Schulz; Geir Hasle; André Rigland Brodtkorb; Trond Runar Hagen

In many cases there is still a large gap between the performance of current optimization technology and the requirements of real-world applications. As in the past, performance will improve through a combination of more powerful solution methods and a general performance increase of computers. These factors are not independent. Due to physical limits, hardware development no longer results in higher speed for sequential algorithms, but rather in increased parallelism. Modern commodity PCs include a multi-core CPU and at least one GPU, providing a low-cost, easily accessible heterogeneous environment for high-performance computing. New solution methods that combine task parallelization and stream processing are needed to fully exploit modern computer architectures and profit from future hardware developments. This paper is the second in a series of two. Part I gives a tutorial style introduction to modern PC architectures and GPU programming. Part II gives a broad survey of the literature on parallel computing in discrete optimization targeted at modern PCs, with special focus on routing problems. We assume that the reader is familiar with GPU programming, and refer the interested reader to Part I. We conclude with lessons learnt, directions for future research, and prospects.


EURO Journal on Transportation and Logistics | 2013

GPU Computing in Discrete Optimization Part I: Introduction to the GPU

André Rigland Brodtkorb; Trond Runar Hagen; Christian Ferdinand Schulz; Geir Hasle

In many cases there is still a large gap between the performance of current optimization technology and the requirements of real world applications. As in the past, performance will improve through a combination of more powerful solution methods and a general performance increase of computers. These factors are not independent. Due to physical limits, hardware development no longer results in higher speed for sequential algorithms, but rather in increased parallelism. Modern commodity PCs include a multi-core CPU and at least one GPU, providing a low cost, easily accessible heterogeneous environment for high performance computing. New solution methods that combine task parallelization and stream processing are needed to fully exploit modern computer architectures and profit from future hardware developments. This paper is the first part of a series of two, where the goal of this first part is to give a tutorial style introduction to modern PC architectures and GPU programming. We start with a short historical account of modern mainstream computer architectures, and a brief description of parallel computing. This is followed by the evolution of modern GPUs, before a GPU programming example is given. Strategies and guidelines for program development are also discussed. Part II gives a broad survey of the existing literature on parallel computing targeted at modern PCs in discrete optimization, with special focus on papers on routing problems. We conclude with lessons learnt, directions for future research, and prospects.


Archive | 2007

How to Solve Systems of Conservation Laws Numerically Using the Graphics Processor as a High-Performance Computational Engine

Trond Runar Hagen; Martin Ofstad Henriksen; Jon M. Hjelmervik; Knut-Andreas Lie

The paper has two main themes: The first theme is to give the reader an introduction to modern methods for systems of conservation laws. To this end, we start by introducing two classical schemes, the Lax-Friedrichs scheme and the Lax-Wendroff scheme. Using a simple example, we show how these two schemes fail to give accurate approximations to solutions containing discontinuities. We then introduce a general class of semi-discrete finite-volume schemes that are designed to produce accurate resolution of both smooth and nonsmooth parts of the solution. Using this special class we wish to introduce the reader to the basic principles used to design modern high-resolution schemes. As examples of systems of conservation laws, we consider the shallow-water equations for water waves and the Euler equations for the dynamics of an ideal gas.


international conference on computational science | 2006

Spline surface intersections optimized for GPUs

Sverre Briseid; Tor Dokken; Trond Runar Hagen; Jens Olav Nygaard

A commodity-type graphics card with its graphics processing unit (GPU) is used to detect, compute and visualize the intersection of two spline surfaces, or the self-intersection of a single spline surface. The parallelism of the GPU facilitates fast and efficient subdivision and bounding box testing of smaller spline patches and their corresponding normal subpatches. This subdivision and testing is iterated until a prescribed level of accuracy is reached, after which results are returned to the main computer. We observe speedups up to 17 times relative to a contemporary 64 bit CPU.


Archive | 2007

An Introduction to General-Purpose Computing on Programmable Graphics Hardware

Tor Dokken; Trond Runar Hagen; Jon M. Hjelmervik

Using graphics hardware for general-purpose computations (GPGPU) has for selected applications shown a performance increase of more than one order of magnitude compared to traditional CPU implementations. The intent of this paper is to give an introduction to the use of graphics hardware as a computational resource. Understanding the architecture of graphics hardware is essential to comprehend GPGPU-programming. This paper first addresses the fixed functionality graphics pipeline, and then explains the architecture and programming model of programmable graphics hardware. As the CPU is instruction driven, while a graphics processing unit (GPU) is data stream driven, a good CPU algorithm is not necessarily well suited for GPU implementation. We will illustrate this with some commonly used GPU algorithms. The paper winds up with examples of GPGPU-research at SINTEF within simulation, visualization, image processing, and geometry processing.

Researchain Logo
Decentralizing Knowledge