1 / 1

An Active Library for Semi-Regular Grids

An Active Library for Semi-Regular Grids . FRCRC HPC 2012. Input Data. Andrew Stone, Michelle Mills Strout. Fortran Compiler. Program. Fortran Program w/ GridLib Calls. Optimized program. Earth Grids. GridGen. Motivation. GridGen.

ekram
Download Presentation

An Active Library for Semi-Regular Grids

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. An Active Library for Semi-Regular Grids FRCRC HPC 2012 Input Data Andrew Stone, Michelle Mills Strout Fortran Compiler Program Fortran Program w/ GridLib Calls Optimized program Earth Grids GridGen Motivation GridGen • With the GridGen code generator we are able to produce semi-regular grid stencil code that matches hand-written code. • BACON ISTEC CRAY • Experiments are with CGPOP stencil on a Dipole grid • Bacon is: a 16 core, 2.13 GHz, XeonE7 machine • Bacon experiments ran for 100 iterations on a 3600 x 3600 grid • The ISTEC Crayis: A Cray XT6m with 1248 cores across 52 nodes, 24 cores per node • ISTEC Crayresults ran for 1000 iterations on 10800 x 10800 grid Scientists use Earth Simulation programs to: Predict change in the weather and climate Gain insight into how weather and climate works These programs contain components for: ocean, land-surface, sea ice, atmosphere These programs work on a discretization of the Earth (called a Grid) and apply stencil computations. Code for grid structure impacts the stencil code. The code is further complicated when it to be run on a parallel machine and optimized. • Many Earth Simulation programs use grids that consist of sets of regular grids connected in an irregular fashion • We call this class Semi-Regular • Below we illustrate the cubed sphere and geodesic grid, and various connectivity patterns: • After data is structured into a grid it • is blocked and distributed to processors. GridLib Debug path Performance Path 5% CGPOP 1.5% SWM Stencil function Grid structure Stencil Data decomposition Optimizations 19% CGPOP 30% SWM Communication function A discretization partitions the earth into a finite number of cells A stencil computation iterates through each cell and updates it using values from surrounding cells. For example: to update the red cell a combination of values from the blue cells is used Example Program ! Define grid call sugrid_new(sg1, N, M) call sugrid_new(sg2, N, M) call grid_new(g) call grid_placeAdjacentWE(g, sg1, sg2) ! Define distribution and read in data call distribution_new_blocked(dist, g, 100, 100) call data_new_from_file(data_in, “input.dat”, g, dist) ! Apply stencil data_out = data_apply(data_in, fourPtAvg) real function fourPtAvg(A, i, j) fourPtAv = & 0.2 * (A(i,j) + A(i-1,j) + & A(i+1, j) + A(i, j-1) + & A(i, j+1)) end function Tangled Details Stencil and communication code is commonly impacted by grid structure and parallelization details. • Loop { • communicate() • stencil() • } Future Work • Non compact stencils • Implementation in SWM and CGPOP • Optimizations

More Related