Introduction to the Einstein Toolkit Details

Size: px
Start display at page:

Download "Introduction to the Einstein Toolkit Details"

Transcription

1 Introduction to the Einstein Toolkit Details Roland Haas TAPIR, Caltech July 26 th 2013

2 Einstein Toolkit main components Toolkit is based on three core components Cactus GetComponents provides the numerical framework and defines interfaces for codes from different authors to interact with each other downloads modules the make up a simulation code Simulation Factory unified user interface to start and manage simulations on a variety of machines from laptops to supercomputers

3 What is Cactus? Cactus is a framework for developing portable, modular applications

4 What is Cactus? Cactus is a framework for developing portable, modular applications focusing, although not eclusively, on high-performance simulation codes he other modules

5 What is Cactus? Cactus is a framework for developing portable, modular applications focusing, although not eclusively, on high-performance simulation codes he other modules separate concerns: designed to allow eperts in different fields to develop modules based upon their eperience and to use modules developed by eperts in other fields with minimal knowledge of the internals or operation of the other modules

6 What is Cactus? Cactus is a framework for developing portable, modular applications focusing, although not eclusively, on high-performance simulation codes he other modules separate concerns: designed to allow eperts in different fields to develop modules based upon their eperience and to use modules developed by eperts in other fields with minimal knowledge of the internals or operation of the other modules mature 12 years of development

7 Cactus Goals Portable Different development machines Different production machines

8 Cactus Goals Portable Different development machines Different production machines Modular Standard interfaces for module interaction for easier code interaction, writing and debugging Interchangeable modules with same functionality

9 Cactus Goals Portable Different development machines Different production machines Modular Standard interfaces for module interaction for easier code interaction, writing and debugging Interchangeable modules with same functionality Easy to use Good documentation Try to let users program the way they are used to Support all major (HPC) programming languages

10 Flesh The flesh is the central component of Cactus. It interfaces with modular components called thorns. The flesh provides: Variables & Data Types Parameters Functions for: Parallelisation Input/Output Coordinates Reduction Interpolation Information Staggering Indeing Ghostzones

11 Thorns Some thorns provide additional functionality, while others serve as applications. Thorns are grouped into arrangements which supply some common functionality. Eample thorns: EinsteinInitialData TwoPunctures TOVSolver Carpet Carpet CarpetIOHDF5 EinsteinAnalysis WeylScal4 Multipole initial data initial data for binary black holes initial data for single spherical star adaptive mesh refinement driver simulation driver, adaptive mesh refinement 1d, 2d, 3d output to HDF5 etract data from simulation computes gravitational wave content decompose into spherical harmonic modes

12 Directory structure Cactus -- doc -- UsersGuide.pdf -- ReferenceManual.pdf -- configs -- sim -- sim-debug -- src -- repos -- simfactory -- arrangements -- EinsteinInitialData -- TwoPunctures -- Carpet -- CarpetIOHDF5

13 GetComponents why? 100 thorns used for simulation Thorns come from a variety of sources: core Cactus thorns, ET thorns, AEIthorns, LSUThorn, Carpet, github.com, bitbucket.org Thorns come in a variety of formats: git, svn, cvs, darcs,... Multiple access levels: publicly available, password required Multiple thorns per repository? Separate documentation? Eample files? Specific code version, release date

14 GetComponents what? (parallised) download of modules from source code repositories access to sub-parts of repositories assemble directory structure simplify update of modules show local changes in all thorns operates on ThornList describing collection of thorns

15 GetComponents how?!crl VERSION = 1.0!DEFINE ROOT = Cactus!DEFINE ARR = $ROOT/arrangements!TARGET = $ROOT!TYPE = svn!auth URL = = Cactus!NAME =.!TARGET = $ARR!TYPE = git!auth_url = carpetgit@carpetcode.org:carpet!url = git://carpetcode.org/carpet!checkout = Carpet/doc Carpet/Carpet Carpet/CarpetIOHDF5

16 Simulation Factory The Simulation Factory: Command-line tools for setting up Cactus distribution and managing simulations on a variety of supercomputers, including most of the XSEDE machines. Captures the best practices of eperienced users, ensuring repeatable and well-documented scientific results. Developed by Erik Schnetter and Michael Thomas. Included in virtual machine: Cactus/simfactory. For more, see: More on Simfactory in the hands-on session.

17 Cactus thorn writing: Cactus concepts thorn Cactus module providing physics or infrastructure capabilities grid function discrete representation of function eg. density ρ(, y, z) on the numerical grid, eg. rho i,j,k grid scalar single number (or set of numbers) managed by Cactus, eg. total mass schedule order in which Cactus calls user supplied routines, defined through orderign relations SCHEDULE compute rho BEFORE compute mass parameter user specifyable option controlling simulation. Used for eample to provide central density in TOV stars, give final time of simulation, specify type of equation of state parameter file set of parameter values used in a single simulation run, key value pairs

18 Cactus thorn writing: anatomy of a thorn Directory structure: GRhydro/ -- COPYRIGHT -- README -- configuration.ccl -- doc -- documentation.te -- interface.ccl -- schedule.ccl -- param.ccl -- src -- GRHydro Startup.F90, make.code.defn

19 configuration.ccl configuration.ccl # Configuration definition for thorn GRHydro REQUIRES EOS_Omni Boundary CartGrid3D SpaceMask ADMMacros OPTIONAL_IFACTIVE Carpet { } List the thorns without which yours will not compile. Popular choices include eternal libraries (GSL/LAPACK/LORENE/HDF5, etc.), EOS Omni for matter.

20 interface.ccl interface.ccl implements: GRHydro inherits: ADMBase, SpaceMask, Tmunubase, HydroBase USES INCLUDE HEADER: carpet.hh void FUNCTION SpatialDet(CCTK_REAL IN g, CCTK_REAL IN gy, \ CCTK_REAL IN gz, CCTK_REAL IN gyy, \ CCTK_REAL IN gyz, CCTK_REAL IN gzz, \ CCTK_REAL OUT det) PROVIDES FUNCTION SpatialDet WITH SpatialDeterminant LANG Fortran public: real dens type = GF Timelevels = 3 \ tensortypealias="scalar" interpolator="matter" \ "generalized particle number"

21 param.ccl param.ccl REAL rho abs min "A minimum rho below which evolution is \ turned off (atmosphere)." STEERABLE=recover { -1.0 :: "use relative minimum" 0.0:* :: "reset rho when it falls below" } -1.0 SHARES: HydroBase USES CCTK INT timelevels EXTENDS KEYWORD evolution method { "GRHydro" :: "Use GRHydro to evolve the hydro variables" } Parameters are typically set at startup, not during eecution.

22 schedule.ccl schedule.ccl storage STORAGE: dens[timelevels] if(cctk Equals(Bvec evolution method,"grhydro")) { STORAGE: HydroBase::Bvec[timelevels] STORAGE: GRHydro::Bcons[timelevels] STORAGE: Bconsrhs } schedule.ccl handles global storage control.

23 schedule.ccl schedule.ccl scheduling schedule Conservative2Primitive IN HydroBase Con2Prim { LANG: Fortran } "Convert back to primitive variables (general)" schedule GRHydro Boundaries IN HydroBase Select Boundaries \ AS GRHydro Bound { LANG: Fortran OPTIONS: LEVEL SYNC: dens SYNC: HydroBase::Bvec } "Select GRHydro boundary conditions" schedule.ccl handles subroutine scheduling.

24 schedule.ccl cont d schedule.ccl scheduling schedule group GRHydroRHS IN HydroBase RHS { STORAGE: GRHydro scalars } "Calculate the update terms" schedule SourceTerms IN GRHydroRHS BEFORE FluTerms { LANG: Fortran } "Source term calculation" schedule UpdateAtmosphereMask IN GRHydroRHS AFTER FluTerms { LANG: Fortran } "Alter the update terms if inside the atmosphere region"

25 make.code.defn files to compile # Source files in this directory SRCS = GRHydro_Source.F90 \ GRHydro_UpdateMask.F90 \ GRHydro_Prim2Con.c \ GRHydro_Boundaries.F90 SUBDIRS = make.code.defn

26 Final tips Plagiarize and copy liberally, especially at first!!! Consider compilation time when you write your thorn. You want a thornlist that is as small as possible, but not smaller. Get version control running first! Learn how to output. It is a huge timesaver for debugging/running.

27 Worked out eample: solving scalar wave equation For a given source function S(, y, t) find a scalar wave field ϕ(, y, t) inside the domain D with a boundary condition: inside D: D D 2 ϕ t 2 = c2 ϕ + S on the boundary D: ϕ D = 0

28 WaveToy Thorn: Discretization Discretization: approimating continuous function ϕ(, y, t) with a grid function ϕ (n) i,j : ϕ (n) i 1 ϕ (n+1) i ϕ (n) i ϕ (n 1) i ϕ (n) i+1 ϕ (n+1) i,j 2ϕ (n) i,j 2 t 2 2 ϕ t 2 = c2 ( 2 ϕ + 2 y ϕ) + S (c 1) + ϕ (n 1) i,j = ϕ (n) i+1,j 2ϕ(n) i,j + ϕ (n) i 1,j ϕ (n) i,j+1 2ϕ(n) i,j + ϕ (n) i,j 1 2 y 2 + S (n) i,j

29 WaveToyMoL Thorn Thorn structure: interface.ccl grid function phi[3]: phi phi p phi p p ϕ (n) ϕ (n 1) ϕ (n 2) Boundary SelectVarForBC param.ccl Parameters of initial Gaussian pulse: amplitude A, radius R, width σ schedule.ccl WaveToy InitialData WaveToy Evolution WaveToy Boundaries

30 WaveToy Thorn: Algorithm Illustration Grid structure GF allocation t Set up coords Compute t Initial data Rotate timelevels Evolve GF, sync Apply BCs Output data

31 WaveToy Thorn: Algorithm Illustration t PROC0 PROC1 Grid structure GF allocation Set up coords Compute t Initial data Rotate timelevels Evolve GF, sync Apply BCs Output data

32 WaveToy Thorn: Algorithm Illustration t PROC0 PROC1 Grid structure GF allocation Set up coords Compute t Initial data, phi, phi p, phi p p, phi, phi p, phi p p Rotate timelevels Evolve GF, sync Apply BCs Output data

33 WaveToy Thorn: Algorithm Illustration t PROC0 PROC1 Grid structure GF allocation Set up coords Compute t Initial data phi, phi p, phi p p phi, phi p, phi p p Rotate timelevels Evolve GF, sync Apply BCs Output data

34 WaveToy Thorn: Algorithm Illustration t PROC0 PROC1 Grid structure GF allocation Set up coords Compute t Initial data t = λ min phi, phi p, phi p p phi, phi p, phi p p t = 0 Rotate timelevels Evolve GF, sync Apply BCs Output data

35 WaveToy Thorn: Algorithm Illustration t PROC0 PROC1 Grid structure GF allocation Set up coords Compute t Initial data phi phi p phi p p t = 0 Rotate timelevels Evolve GF, sync Apply BCs Output data

36 WaveToy Thorn: Algorithm Illustration t PROC0 PROC1 Grid structure GF allocation Set up coords Compute t Initial data phi phi p phi p p t = 0 Rotate timelevels Evolve GF, sync Apply BCs Output data

37 WaveToy Thorn: Algorithm Illustration t PROC0 PROC1 Grid structure GF allocation Set up coords Compute t Initial data phi phi p phi p p t = 0 Rotate timelevels Evolve GF, sync Apply BCs Output data

38 WaveToy Thorn: Algorithm Illustration t PROC0 PROC1 Grid structure GF allocation Set up coords Compute t Initial data phi phi p phi p p t = 0 Rotate timelevels Evolve GF, sync Apply BCs Output data

39 WaveToy Thorn: Algorithm Illustration t PROC0 PROC1 Grid structure GF allocation Set up coords Compute t Initial data phi phi p phi p p t = 0 Rotate timelevels Evolve GF, sync Apply BCs Output data

40 WaveToy Thorn: Algorithm Illustration t PROC0 PROC1 Grid structure GF allocation Set up coords Compute t Initial data phi phi p phi p p t = 0 Rotate timelevels Evolve GF, sync Apply BCs Output data

41 WaveToy Thorn: Algorithm Illustration t phi phi p phi p p PROC0 PROC t = 0 Grid structure GF allocation Set up coords Compute t Initial data Rotate timelevels Evolve GF, sync Apply BCs Output data

42 WaveToy Thorn Directory structure: WaveToy/ -- COPYRIGHT -- README -- configuration.ccl -- doc -- documentation.te -- interface.ccl -- schedule.ccl -- param.ccl -- src -- WaveToy.c -- make.code.defn

43 WaveToy Thorn Directory structure: WaveToy/ -- COPYRIGHT -- README -- configuration.ccl -- doc -- documentation.te -- interface.ccl -- schedule.ccl -- param.ccl -- src -- WaveToy.c -- make.code.defn

44 WaveToy Thorn interface.ccl: IMPLEMENTS: wavetoy_simple INHERITS: grid PUBLIC: CCTK_REAL scalarevolve TYPE=gf TIMELEVELS=3 { phi } "The evolved scalar field" CCTK_INT FUNCTION Boundary_SelectVarForBC( \ CCTK_POINTER_TO_CONST IN GH, CCTK_INT IN faces, \ CCTK_INT IN boundary_width, CCTK_INT IN table_handle, \ CCTK_STRING IN var_name, CCTK_STRING IN bc_name) REQUIRES FUNCTION Boundary_SelectVarForBC

45 WaveToy Thorn cont. schedule.ccl: STORAGE: scalarevolve[3] SCHEDULE WaveToy_InitialData AT CCTK_INITIAL { LANG: C } "Initial data for 3D wave equation" SCHEDULE WaveToy_Evolution AT CCTK_EVOL { LANG: C SYNC: scalarevolve } "Evolution of 3D wave equation" SCHEDULE WaveToy_Boundaries AT CCTK_EVOL AFTER WaveToy_Evolution { LANG: C } "Select boundary conditions for the evolved scalar" SCHEDULE GROUP ApplyBCs as WaveToy_ApplyBCs AT CCTK_EVOL AFTER WaveToy_Boundaries { } "Apply boundary conditions"

46 WaveToy Thorn cont. param.ccl: CCTK_REAL amplitude "The amplitude of the waves" { *:* :: "Anything" } 1.0 CCTK_REAL radius "The radius of the gaussian wave" { 0:* :: "Positive" } 0.0 CCTK_REAL sigma "The sigma for the gaussian wave" { 0:* :: "Positive" } 0.1

47 WaveToy Thorn cont. Directory structure: WaveToy/ -- COPYRIGHT -- README -- configuration.ccl -- doc -- documentation.te -- interface.ccl -- schedule.ccl -- param.ccl -- src -- WaveToy.c -- make.code.defn

48 WaveToy Thorn cont. WaveToy.c: void WaveToy Evolution(CCTK ARGUMENTS) { DECLARE CCTK ARGUMENTS; CCTK REAL dt2,d2i,dy2i,dz2i; dt2 = CCTK DELTA TIME*CCTK DELTA SPACE(2); d2i = 1.0/(CCTK DELTA SPACE(0)*CCTK DELTA SPACE(0)); dy2i = 1.0/(CCTK DELTA SPACE(1)*CCTK DELTA SPACE(1)); dz2i = 1.0/(CCTK DELTA SPACE(2)*CCTK DELTA SPACE(2)); /* Do the evolution */ for (int k=1; k<cctk lsh[2]-1; k++) { for (int j=1; j<cctk lsh[1]-1; j++) { for (int i=1; i<cctk lsh[0]-1; i++) { phi[cctk GFINDEX3D(cctkGH,i,j,k)] = 2*(1 - (dt2)*(d2i + dy2i + dz2i)) * phi p[cctk GFINDEX3D(cctkGH,i,j,k)] - phi p p[cctk GFINDEX3D(cctkGH,i,j,k)] + (dt2) * ( ( phi p[cctk GFINDEX3D(cctkGH,i+1,j,k )] +phi p[cctk GFINDEX3D(cctkGH,i-1,j,k )] )*d2i +( phi p[cctk GFINDEX3D(cctkGH,i,j+1,k )] +phi p[cctk GFINDEX3D(cctkGH,i,j-1,k )] )*dy2i +( phi p[cctk GFINDEX3D(cctkGH,i,j,k+1)] +phi p[cctk GFINDEX3D(cctkGH,i,j, k-1)] )*dz2i); } } } }

49 WaveToy Thorn cont. WaveToy.c cont.: void WaveToy InitialData(CCTK ARGUMENTS) { DECLARE CCTK ARGUMENTS; DECLARE CCTK PARAMETERS; for(int k=0; k<cctk lsh[2]; k++) { for(int j=0; j<cctk lsh[1]; j++) { for(int i=0; i<cctk lsh[0]; i++) { int vinde = CCTK GFINDEX3D(cctkGH,i,j,k); CCTK REAL dt = CCTK DELTA TIME; CCTK REAL X = [vinde]; CCTK REAL Y = y[vinde]; CCTK REAL Z = z[vinde]; CCTK REAL R = sqrt(x*x + Y*Y + Z*Z); phi[vinde] = amplitude*ep( - SQ( (R - radius) / sigma ) ); if (R == 0.0) { phi p[vinde] = amplitude*( *dt*dt/sigma)*ep(-dt*dt/sigma); } else { phi p[vinde] = amplitude/2.0*(r-dt)/r* ep( - SQ( (R - radius - dt)/ sigma ) ) + amplitude/2.0*(r+dt)/r* ep( - SQ( (R - radius + dt)/ sigma ) ); } } } } }

50 WaveToy Thorn cont. WaveToy.c: void WaveToy Boundaries(CCTK ARGUMENTS) { DECLARE CCTK ARGUMENTS; /* Uses all default arguments, so invalid table handle -1 can be passed */ if (Boundary SelectVarForBC (cctkgh, CCTK ALL FACES, 1, -1, "wavetoy simple::phi", "scalar") < 0) { CCTK WARN (0, "WaveToy Boundaries: Error selecting boundary condition"); } } make.config.defn: SRCS = WaveToy.c

51 Parameter file Eample parameter file: Cactus::cctk_run_title = "Simple WaveToy" ActiveThorns = "Time Boundary Carpet CarpetLib CartGrid3D CoordBase IOUtil CarpetIOBasic CarpetIOASCII CarpetIOHDF5 SymBase WaveToy" Cactus::cctk_itlast = Time::dtfac = 0.5 IO::out_dir = $parfile IOBasic::outInfo_every = 1 IOASCII::out1D_every = 10 IOASCII::out1D_vars = "wavetoy_simple::phi" IOHdf5::out_every = 100 IOHdf5::out_vars = "wavetoy_simple::phi"

52 Eercise: compute wave energy compute energy density ρ E = φ 2 d dy dz compute integral as sum reduction of IOScalar::out reductions during output

Introduction to the Cactus Framework

Introduction to the Cactus Framework Introduction to the Cactus Framework The Cactus team Oct 25 2011 1 Introduction Outline 2 The Cactus Computational Toolkit Overview Capabilities 3 Visualization 4 Cactus Structure Overview The Flesh The

More information

The Cactus Framework. Erik Schnetter September 2006

The Cactus Framework. Erik Schnetter September 2006 The Cactus Framework Erik Schnetter September 2006 Outline History The Cactus User Community Cactus Usage Patterns Bird s eye view Cactus is a freely available, portable, and manageable environment for

More information

Fourteen years of Cactus Community

Fourteen years of Cactus Community Fourteen years of Cactus Community Frank Löffler Center for Computation and Technology Louisiana State University, Baton Rouge, LA September 6th 2012 Outline Motivation scenario from Astrophysics Cactus

More information

What is Cactus? Cactus is a framework for developing portable, modular applications

What is Cactus? Cactus is a framework for developing portable, modular applications What is Cactus? Cactus is a framework for developing portable, modular applications What is Cactus? Cactus is a framework for developing portable, modular applications focusing, although not exclusively,

More information

Cactus Tutorial. Thorn Writing 101. Yaakoub Y El Khamra. Frameworks Group, CCT 17 Feb, 2006

Cactus Tutorial. Thorn Writing 101. Yaakoub Y El Khamra. Frameworks Group, CCT 17 Feb, 2006 Cactus Tutorial Thorn Writing 101 Yaakoub Y El Khamra Frameworks Group, CCT 17 Feb, 2006 Agenda Downloading Cactus The GetCactus Script CVS Thorn writing Making a new thorn Editing the.ccl files Adding

More information

Component Specification in the Cactus Framework: The Cactus Configuration Language

Component Specification in the Cactus Framework: The Cactus Configuration Language Component Specification in the Cactus Framework: The Cactus Configuration Language Gabrielle Allen Center for Computation & Technology Department of Computer Science Louisiana State University Baton Rouge,

More information

The Cactus Framework. Tom Goodale LSU Center for Computation and Technology and Cardiff University

The Cactus Framework. Tom Goodale LSU Center for Computation and Technology and Cardiff University The Cactus Framework Tom Goodale LSU Center for Computation and Technology and Cardiff University goodale@cct.lsu.edu Introduction What is Cactus? CACTUS is a generic, freely available, modular, portable

More information

Parallelism. Wolfgang Kastaun. May 9, 2008

Parallelism. Wolfgang Kastaun. May 9, 2008 Parallelism Wolfgang Kastaun May 9, 2008 Outline Parallel computing Frameworks MPI and the batch system Running MPI code at TAT The CACTUS framework Overview Mesh refinement Writing Cactus modules Links

More information

From Physics Model to Results: An Optimizing Framework for Cross-Architecture Code Generation

From Physics Model to Results: An Optimizing Framework for Cross-Architecture Code Generation From Physics Model to Results: An Optimizing Framework for Cross-Architecture Code Generation Erik Schnetter, Perimeter Institute with M. Blazewicz, I. Hinder, D. Koppelman, S. Brandt, M. Ciznicki, M.

More information

Requirements for a new EOS interface in the Einstein Toolkit

Requirements for a new EOS interface in the Einstein Toolkit Requirements for a new EOS interface in the Einstein Toolkit Erik Schnetter, 2009-11-03 CIGR Talk Series, Baton Rouge, LA Tuesday, November 3, 2009 CCT: Center for Computation & Technology Discussion Topic

More information

Erik Schnetter Rochester, August Friday, August 27, 2010

Erik Schnetter Rochester, August Friday, August 27, 2010 Erik Schnetter Rochester, August 2010 1 Goal: have state-of-the-art set of tools for NR available as open source Organised by Einstein Consortium, open to everyone See http://einsteintoolkit.org 2 Guiding

More information

The Cactus Framework and Toolkit: Design and Applications

The Cactus Framework and Toolkit: Design and Applications The Cactus Framework and Toolkit: Design and Applications Tom Goodale 1, Gabrielle Allen 1, Gerd Lanfermann 1, Joan Massó 2, Thomas Radke 1, Edward Seidel 1, and John Shalf 3 1 Max-Planck-Institut für

More information

Cactus Tutorial. Introduction to Cactus. Yaakoub El Khamra. Cactus Developer, Frameworks Group CCT 27 March, 2007

Cactus Tutorial. Introduction to Cactus. Yaakoub El Khamra. Cactus Developer, Frameworks Group CCT 27 March, 2007 Cactus Tutorial Introduction to Cactus Yaakoub El Khamra Cactus Developer, Frameworks Group CCT 27 March, 2007 Agenda Introduction to Cactus What is Cactus Flesh and thorns Cactus Computational Toolkit

More information

Cactus Framework: Scaling and Lessons Learnt

Cactus Framework: Scaling and Lessons Learnt Cactus Framework: Scaling and Lessons Learnt Gabrielle Allen, Erik Schnetter, Jian Tao Center for Computation & Technology Departments of Computer Science & Physics Louisiana State University Also: Christian

More information

Dynamic Deployment of a Component Framework with the Ubiqis System

Dynamic Deployment of a Component Framework with the Ubiqis System Dynamic Deployment of a Component Framework with the Ubiqis System Steven Brandt (1) Gabrielle Allen (1,2) Matthew Eastman (1) Matthew Kemp (1) Erik Schnetter (1,3) (1) Center for Computation & Technology,

More information

Kranc: a Mathematica package to generate numerical codes for tensorial evolution equations

Kranc: a Mathematica package to generate numerical codes for tensorial evolution equations Computer Physics Communications 174 (2006) 983 1004 www.elsevier.com/locate/cpc Kranc: a Mathematica package to generate numerical codes for tensorial evolution equations Sascha Husa a,, Ian Hinder b,

More information

UCDs for simulations

UCDs for simulations UCDs for simulations Laurie D Shaw and Nicholas A Walton June 2004 1 Introduction This is a brief document outlining some of the UCDs that would be required to describe a simulation dataset. It is based

More information

Cactus: Current Status and Future Plans

Cactus: Current Status and Future Plans Cactus: Current Status and Future Plans Tom Goodale goodale@aei-potsdam.mpg.de Penn State Numrel Lunch February 27 h 2003 What Is Cactus Cactus is a framework for developing portable, modular applications,

More information

Day 2 August 06, 2004 (Friday)

Day 2 August 06, 2004 (Friday) An Overview of Grid Computing Day 2 August 06, 2004 (Friday) By CDAC Experts Contact :vcvrao@cdacindia.com; betatest@cdacindia.com URL : http://www.cs.umn.edu/~vcvrao 1 Betatesting Group,NPSF, C-DAC,Pune

More information

arxiv: v1 [physics.comp-ph] 24 Jul 2013

arxiv: v1 [physics.comp-ph] 24 Jul 2013 From Physics Model to Results: An Optimizing Framework for Cross-Architecture Code Generation arxiv:1307.6488v1 [physics.comp-ph] 24 Jul 2013 Marek Blazewicz 1,2,, Ian Hinder 3, David M. Koppelman 4,5,

More information

GETTING STARTED WITH. Michael Lessard Senior Solutions Architect June 2017

GETTING STARTED WITH. Michael Lessard Senior Solutions Architect June 2017 GETTING STARTED WITH Michael Lessard Senior Solutions Architect June 2017 Agenda What is Git? Installation of Git Git basis Github First steps with Git 2 WHAT IS GIT? What is Git? Started in 2005 Created

More information

Cactus 4.0 Reference Manual

Cactus 4.0 Reference Manual actus 4.0 Reference Manual ontents A TK * Functions Reference A1 A1 Functions Alphabetically A2 Full Description of Functions A3 A14 B Util * Functions Reference B1 B1 Functions Alphabetically B3 B1.1

More information

Course Outline. Introduction to java

Course Outline. Introduction to java Course Outline 1. Introduction to OO programming 2. Language Basics Syntax and Semantics 3. Algorithms, stepwise refinements. 4. Quiz/Assignment ( 5. Repetitions (for loops) 6. Writing simple classes 7.

More information

Realistic Animation of Fluids

Realistic Animation of Fluids Realistic Animation of Fluids p. 1/2 Realistic Animation of Fluids Nick Foster and Dimitri Metaxas Realistic Animation of Fluids p. 2/2 Overview Problem Statement Previous Work Navier-Stokes Equations

More information

Integration of Trilinos Into The Cactus Code Framework

Integration of Trilinos Into The Cactus Code Framework Integration of Trilinos Into The Cactus Code Framework Josh Abadie Research programmer Center for Computation & Technology Louisiana State University Summary Motivation Objectives The Cactus Code Trilinos

More information

Sami Ilvonen Pekka Manninen. Introduction to High-Performance Computing with Fortran. September 19 20, 2016 CSC IT Center for Science Ltd, Espoo

Sami Ilvonen Pekka Manninen. Introduction to High-Performance Computing with Fortran. September 19 20, 2016 CSC IT Center for Science Ltd, Espoo Sami Ilvonen Pekka Manninen Introduction to High-Performance Computing with Fortran September 19 20, 2016 CSC IT Center for Science Ltd, Espoo All material (C) 2009-2016 by CSC IT Center for Science Ltd.

More information

Interpolation of gridded data using Geostrophic Balance. Lennon O Naraigh *

Interpolation of gridded data using Geostrophic Balance. Lennon O Naraigh * Interpolation of gridded data using Geostrophic Balance Lennon O Naraigh * Date: 6 th September 2004 Abstract: In this report, a method of interpolating data from the grid of a global climate model (GCM)

More information

AGRIF Adaptive Grid Refinement In Fortran. User s Guide. Version 1.3

AGRIF Adaptive Grid Refinement In Fortran. User s Guide. Version 1.3 AGRIF Adaptive Grid Refinement In Fortran User s Guide Version 1.3 27 novembre 2006 AGRIF is a package for the integration of adaptive mesh refinement (AMR) features within a multidimensional model written

More information

Einstein Toolkit Workshop

Einstein Toolkit Workshop Einstein Toolkit Workshop Hands-on exercise: visualizing density oscillations and gravitational waves Roland Haas July 26 2013 Installing software To turn the rendered frames into a movie we will use ffmpeg

More information

Subject: PROBLEM SOLVING THROUGH C Time: 3 Hours Max. Marks: 100

Subject: PROBLEM SOLVING THROUGH C Time: 3 Hours Max. Marks: 100 Code: DC-05 Subject: PROBLEM SOLVING THROUGH C Time: 3 Hours Max. Marks: 100 NOTE: There are 11 Questions in all. Question 1 is compulsory and carries 16 marks. Answer to Q. 1. must be written in the space

More information

Introduction to Matlab. Summer School CEA-EDF-INRIA 2011 of Numerical Analysis

Introduction to Matlab. Summer School CEA-EDF-INRIA 2011 of Numerical Analysis Introduction to Matlab 1 Outline What is Matlab? Matlab desktop & interface Scalar variables Vectors and matrices Exercise 1 Booleans Control structures File organization User defined functions Exercise

More information

Lecture 5: Methods CS2301

Lecture 5: Methods CS2301 Lecture 5: Methods NADA ALZAHRANI CS2301 1 Opening Problem Find the sum of integers from 1 to 10, from 20 to 30, and from 35 to 45, respectively. 2 Solution public static int sum(int i1, int i2) { int

More information

C++ & Object Oriented Programming Concepts The procedural programming is the standard approach used in many traditional computer languages such as BASIC, C, FORTRAN and PASCAL. The procedural programming

More information

IBS Software Services Technical Interview Questions. Q1. What is the difference between declaration and definition?

IBS Software Services Technical Interview Questions. Q1. What is the difference between declaration and definition? IBS Software Services Technical Interview Questions Q1. What is the difference between declaration and definition? The declaration tells the compiler that at some later point we plan to present the definition

More information

Lorene initial data for binary neutron stars

Lorene initial data for binary neutron stars Lorene initial data for binary neutron stars Lorene initial data for binary neutron stars Contents 1 Bin NS Binary neutron star configuration on a Cartesian grid......................................................

More information

Chapter 1: An Overview of Computers and Programming Languages. Objectives. Objectives (cont d.) Introduction

Chapter 1: An Overview of Computers and Programming Languages. Objectives. Objectives (cont d.) Introduction Chapter 1: An Overview of Computers and Programming Languages Objectives Objectives (cont d.) In this chapter, you will: Learn about different types of computers Explore hardware and software Learn about

More information

CHAPTER 5 GENERAL OOP CONCEPTS

CHAPTER 5 GENERAL OOP CONCEPTS CHAPTER 5 GENERAL OOP CONCEPTS EVOLUTION OF SOFTWARE A PROGRAMMING LANGUAGE SHOULD SERVE 2 RELATED PURPOSES : 1. It should provide a vehicle for programmer to specify actions to be executed. 2. It should

More information

Math 690N - Final Report

Math 690N - Final Report Math 690N - Final Report Yuanhong Li May 05, 008 Accurate tracking of a discontinuous, thin and evolving turbulent flame front has been a challenging subject in modelling a premixed turbulent combustion.

More information

Project-II: Comparing Mean Value, Harmonic and Green Coordinates for Mesh Deformation in Computer Animation

Project-II: Comparing Mean Value, Harmonic and Green Coordinates for Mesh Deformation in Computer Animation Project-II: Comparing Mean Value, Harmonic and Green Coordinates for Mesh Deformation in Computer Animation Chaman Singh Verma April 20, 2011 Figure 1: Barycentric Mapping usage: (a) Straightening the

More information

Introduction to Supercomputing

Introduction to Supercomputing Introduction to Supercomputing TMA4280 Introduction to development tools 0.1 Development tools During this course, only the make tool, compilers, and the GIT tool will be used for the sake of simplicity:

More information

Fortran Coarrays John Reid, ISO Fortran Convener, JKR Associates and Rutherford Appleton Laboratory

Fortran Coarrays John Reid, ISO Fortran Convener, JKR Associates and Rutherford Appleton Laboratory Fortran Coarrays John Reid, ISO Fortran Convener, JKR Associates and Rutherford Appleton Laboratory This talk will explain the objectives of coarrays, give a quick summary of their history, describe the

More information

Practical C Programming

Practical C Programming Practical C Programming Advanced Preprocessor # - quotes a string ## - concatenates things #pragma h3p://gcc.gnu.org/onlinedocs/cpp/pragmas.html #warn #error Defined Constants Macro FILE LINE DATE TIME

More information

Section Parametrized Surfaces and Surface Integrals. (I) Parametrizing Surfaces (II) Surface Area (III) Scalar Surface Integrals

Section Parametrized Surfaces and Surface Integrals. (I) Parametrizing Surfaces (II) Surface Area (III) Scalar Surface Integrals Section 16.4 Parametrized Surfaces and Surface Integrals (I) Parametrizing Surfaces (II) Surface Area (III) Scalar Surface Integrals MATH 127 (Section 16.4) Parametrized Surfaces and Surface Integrals

More information

Scientific Computing at Million-way Parallelism - Blue Gene/Q Early Science Program

Scientific Computing at Million-way Parallelism - Blue Gene/Q Early Science Program Scientific Computing at Million-way Parallelism - Blue Gene/Q Early Science Program Implementing Hybrid Parallelism in FLASH Christopher Daley 1 2 Vitali Morozov 1 Dongwook Lee 2 Anshu Dubey 1 2 Jonathon

More information

The Prickly Pear Archive: A Portable Hypermedia for Scholarly Publication

The Prickly Pear Archive: A Portable Hypermedia for Scholarly Publication The Prickly Pear Archive: A Portable Hypermedia for Scholarly Publication Dennis Castleberry, Steven Brandt, Frank Löeffler, and Hari Krishnan July 17, 2012 1 Problem Specification Traditional Paper System

More information

Key properties of local features

Key properties of local features Key properties of local features Locality, robust against occlusions Must be highly distinctive, a good feature should allow for correct object identification with low probability of mismatch Easy to etract

More information

Fibonacci in Lisp. Computer Programming: Skills & Concepts (CP1) Programming Languages. Varieties of Programing Language

Fibonacci in Lisp. Computer Programming: Skills & Concepts (CP1) Programming Languages. Varieties of Programing Language Fibonacci in Lisp Computer Programming: Skills & Concepts (CP1) Programming Languages (defun fibonacci (n) (if (or (= n 0) (= n 1)) 1 (+ (fibonacci (- n 1)) (fibonacci (- n 2))))) 22nd November 2010 defun-

More information

Cosmology Simulations with Enzo

Cosmology Simulations with Enzo Cosmology Simulations with Enzo John Wise (Georgia Tech) Enzo Workshop 17 Oct 2013 Outline Introduction to unigrid cosmology simulations Introduction to nested grid cosmology simulations Using different

More information

Run-Time Data Structures

Run-Time Data Structures Run-Time Data Structures Static Structures For static structures, a fixed address is used throughout execution. This is the oldest and simplest memory organization. In current compilers, it is used for:

More information

Version control system (VCS)

Version control system (VCS) Version control system (VCS) Remember that you are required to keep a process-log-book of the whole development solutions with just one commit or with incomplete process-log-book (where it is not possible

More information

Datura The new HPC-Plant at Albert Einstein Institute

Datura The new HPC-Plant at Albert Einstein Institute Datura The new HPC-Plant at Albert Einstein Institute Nico Budewitz Max Planck Institue for Gravitational Physics, Germany Cluster Day, 2011 Outline 1 History HPC-Plants at AEI -2009 Peyote, Lagavulin,

More information

Tutorial: Heat and Mass Transfer with the Mixture Model

Tutorial: Heat and Mass Transfer with the Mixture Model Tutorial: Heat and Mass Transfer with the Mixture Model Purpose The purpose of this tutorial is to demonstrate the use of mixture model in FLUENT 6.0 to solve a mixture multiphase problem involving heat

More information

The Level Set Method. Lecture Notes, MIT J / 2.097J / 6.339J Numerical Methods for Partial Differential Equations

The Level Set Method. Lecture Notes, MIT J / 2.097J / 6.339J Numerical Methods for Partial Differential Equations The Level Set Method Lecture Notes, MIT 16.920J / 2.097J / 6.339J Numerical Methods for Partial Differential Equations Per-Olof Persson persson@mit.edu March 7, 2005 1 Evolving Curves and Surfaces Evolving

More information

Lecture 2: C Programming Basic

Lecture 2: C Programming Basic ECE342 Introduction to Embedded Systems Lecture 2: C Programming Basic Ying Tang Electrical and Computer Engineering Rowan University 1 Facts about C C was developed in 1972 in order to write the UNIX

More information

Unit 7. Functions. Need of User Defined Functions

Unit 7. Functions. Need of User Defined Functions Unit 7 Functions Functions are the building blocks where every program activity occurs. They are self contained program segments that carry out some specific, well defined task. Every C program must have

More information

Getting Started Guide Bayesian Filtering Library. Tinne De Laet, Wim Meeussen, Klaas Gadeyne

Getting Started Guide Bayesian Filtering Library. Tinne De Laet, Wim Meeussen, Klaas Gadeyne Getting Started Guide Bayesian Filtering Library Tinne De Laet, Wim Meeussen, Klaas Gadeyne February 16, 2007 Chapter 1 Introduction to BFL 1.1 What is BFL? The Bayesian Filtering Library (BFL) has been

More information

Medical Image Segmentation using Level Sets

Medical Image Segmentation using Level Sets Medical Image Segmentation using Level Sets Technical Report #CS-8-1 Tenn Francis Chen Abstract Segmentation is a vital aspect of medical imaging. It aids in the visualization of medical data and diagnostics

More information

APS105. Modularity. C pre-defined functions 11/5/2013. Functions. Functions (and Pointers) main. Modularity. Math functions. Benefits of modularity:

APS105. Modularity. C pre-defined functions 11/5/2013. Functions. Functions (and Pointers) main. Modularity. Math functions. Benefits of modularity: APS105 Functions (and Pointers) Functions Tetbook Chapter5 1 2 Modularity Modularity Break a program into manageable parts (modules) Modules interoperate with each other Benefits of modularity: Divide-and-conquer:

More information

Grid Computing in Numerical Relativity and Astrophysics

Grid Computing in Numerical Relativity and Astrophysics Grid Computing in Numerical Relativity and Astrophysics Gabrielle Allen: gallen@cct.lsu.edu Depts Computer Science & Physics Center for Computation & Technology (CCT) Louisiana State University Challenge

More information

SLICE-3D: A three-dimensional conservative semi-lagrangian scheme for transport problems. Mohamed Zerroukat. Met Office, Exeter, UK

SLICE-3D: A three-dimensional conservative semi-lagrangian scheme for transport problems. Mohamed Zerroukat. Met Office, Exeter, UK SLICE-D: A three-dimensional conservative semi-lagrangian scheme for transport problems Mohamed Zerroukat (Nigel wood & Andrew Staniforth) Met Office, Exeter, UK SRNWP-NT, Zagreb, c Crown Copyright Content

More information

15 FUNCTIONS IN C 15.1 INTRODUCTION

15 FUNCTIONS IN C 15.1 INTRODUCTION 15 FUNCTIONS IN C 15.1 INTRODUCTION In the earlier lessons we have already seen that C supports the use of library functions, which are used to carry out a number of commonly used operations or calculations.

More information

Titanium. Titanium and Java Parallelism. Java: A Cleaner C++ Java Objects. Java Object Example. Immutable Classes in Titanium

Titanium. Titanium and Java Parallelism. Java: A Cleaner C++ Java Objects. Java Object Example. Immutable Classes in Titanium Titanium Titanium and Java Parallelism Arvind Krishnamurthy Fall 2004 Take the best features of threads and MPI (just like Split-C) global address space like threads (ease programming) SPMD parallelism

More information

Type Checking Binary Operators

Type Checking Binary Operators Type Checking Binary Operators binaryopnode expr tree expr tree Type checking steps: 1. Type check left and right operands. 2. Check that left and right operands are both scalars. 3. binaryopnode.kind

More information

Project Report. 1 Abstract. 2 Algorithms. 2.1 Gaussian elimination without partial pivoting. 2.2 Gaussian elimination with partial pivoting

Project Report. 1 Abstract. 2 Algorithms. 2.1 Gaussian elimination without partial pivoting. 2.2 Gaussian elimination with partial pivoting Project Report Bernardo A. Gonzalez Torres beaugonz@ucsc.edu Abstract The final term project consist of two parts: a Fortran implementation of a linear algebra solver and a Python implementation of a run

More information

Computational Methods of Scientific Programming. Lecturers Thomas A Herring Chris Hill

Computational Methods of Scientific Programming. Lecturers Thomas A Herring Chris Hill 12.010 Computational Methods of Scientific Programming Lecturers Thomas A Herring Chris Hill Review of Lecture 5 Looked at Fortran commands in more detail Control through if and do statements. Logical

More information

Tutorial No. 2 - Solution (Overview of C)

Tutorial No. 2 - Solution (Overview of C) Tutorial No. 2 - Solution (Overview of C) Computer Programming and Utilization (2110003) 1. Explain the C program development life cycle using flowchart in detail. OR Explain the process of compiling and

More information

Computational Methods of Scientific Programming Fall 2007

Computational Methods of Scientific Programming Fall 2007 MIT OpenCourseWare http://ocw.mit.edu 12.010 Computational Methods of Scientific Programming Fall 2007 For information about citing these materials or our Terms of Use, visit: http://ocw.mit.edu/terms.

More information

Christopher Sewell Katrin Heitmann Li-ta Lo Salman Habib James Ahrens

Christopher Sewell Katrin Heitmann Li-ta Lo Salman Habib James Ahrens LA-UR- 14-25437 Approved for public release; distribution is unlimited. Title: Portable Parallel Halo and Center Finders for HACC Author(s): Christopher Sewell Katrin Heitmann Li-ta Lo Salman Habib James

More information

Software Engineering Practices. PHY 688: Numerical Methods for (Astro)Physics

Software Engineering Practices. PHY 688: Numerical Methods for (Astro)Physics Software Engineering Practices Class Business Does everyone have access to a Linux or Unix machine to work from? What programming languages do each of you typically use? Software Engineering Practices

More information

Isosurface Rendering. CSC 7443: Scientific Information Visualization

Isosurface Rendering. CSC 7443: Scientific Information Visualization Isosurface Rendering What is Isosurfacing? An isosurface is the 3D surface representing the locations of a constant scalar value within a volume A surface with the same scalar field value Isosurfaces form

More information

A Fast Review of C Essentials Part I

A Fast Review of C Essentials Part I A Fast Review of C Essentials Part I Structural Programming by Z. Cihan TAYSI Outline Program development C Essentials Functions Variables & constants Names Formatting Comments Preprocessor Data types

More information

CS 542G: Barnes-Hut. Robert Bridson. November 5, 2008

CS 542G: Barnes-Hut. Robert Bridson. November 5, 2008 CS 54G: Barnes-Hut Robert Bridson November 5, 008 The Gravitational Potential While it s perfectly possible to derive all the following at the level of forces, it can be both convenient and useful to re-express

More information

Introduction to Computers II Lecture 4. Dr Ali Ziya Alkar Dr Mehmet Demirer

Introduction to Computers II Lecture 4. Dr Ali Ziya Alkar Dr Mehmet Demirer Introduction to Computers II Lecture 4 Dr Ali Ziya Alkar Dr Mehmet Demirer 1 Contents: Utilizing the existing information Top-down design Start with the broadest statement of the problem Works down to

More information

Parallel Programming in Fortran with Coarrays

Parallel Programming in Fortran with Coarrays Parallel Programming in Fortran with Coarrays John Reid, ISO Fortran Convener, JKR Associates and Rutherford Appleton Laboratory Fortran 2008 is now in FDIS ballot: only typos permitted at this stage.

More information

MONTE CARLO EVALUATION OF DEFINITE INTEGRALS

MONTE CARLO EVALUATION OF DEFINITE INTEGRALS MISN-0-355 MONTE CARLO EVALUATION OF DEFINITE INTEGRALS by Robert Ehrlich MONTE CARLO EVALUATION OF DEFINITE INTEGRALS y 1. Integrals, 1-2 Dimensions a. Introduction.............................................1

More information

Segmentation I: Edges and Lines

Segmentation I: Edges and Lines Segmentation I: Edges and Lines Prof. Eric Miller elmiller@ece.tufts.edu Fall 2007 EN 74-ECE Image Processing Lecture 8-1 Segmentation Problem of breaking an image up into regions are are interesting as

More information

Functions in C C Programming and Software Tools

Functions in C C Programming and Software Tools Functions in C C Programming and Software Tools N.C. State Department of Computer Science Functions in C Functions are also called subroutines or procedures One part of a program calls (or invokes the

More information

Mathematica for Scientists and Engineers

Mathematica for Scientists and Engineers Mathematica for Scientists and Engineers Thomas B. Bahder Addison-Wesley Publishing Company Reading, Massachusetts Menlo Park, California New York Don Mills, Ontario Wokingham, England Amsterdam Bonn Paris

More information

Self-study session 1, Discrete mathematics

Self-study session 1, Discrete mathematics Self-study session 1, Discrete mathematics First year mathematics for the technology and science programmes Aalborg University In this self-study session we are working with time complexity. Space complexity

More information

Summer 2003 Lecture 14 07/02/03

Summer 2003 Lecture 14 07/02/03 Summer 2003 Lecture 14 07/02/03 LAB 6 Lab 6 involves interfacing to the IBM PC parallel port Use the material on wwwbeyondlogicorg for reference This lab requires the use of a Digilab board Everyone should

More information

Scientific Software Development with Eclipse

Scientific Software Development with Eclipse Scientific Software Development with Eclipse A Best Practices for HPC Developers Webinar Gregory R. Watson ORNL is managed by UT-Battelle for the US Department of Energy Contents Downloading and Installing

More information

CSE 230 Intermediate Programming in C and C++ Functions

CSE 230 Intermediate Programming in C and C++ Functions CSE 230 Intermediate Programming in C and C++ Functions Fall 2017 Stony Brook University Instructor: Shebuti Rayana shebuti.rayana@stonybrook.edu http://www3.cs.stonybrook.edu/~cse230/ Concept of Functions

More information

Methods. CSE 114, Computer Science 1 Stony Brook University

Methods. CSE 114, Computer Science 1 Stony Brook University Methods CSE 114, Computer Science 1 Stony Brook University http://www.cs.stonybrook.edu/~cse114 1 Opening Problem Find multiple sums of integers: - from 1 to 10, - from 20 to 30, - from 35 to 45,... 2

More information

Version Control. Software Carpentry Github s Hello World Git For Ages 4 And Up You need source code control now

Version Control. Software Carpentry Github s Hello World Git For Ages 4 And Up You need source code control now A version control system (VCS) is a tool or system for keeping track of changes in files. A primitive form of VCS would be making a copy of a file every time you want to make a new version of the file.

More information

Chapter 3 Path Optimization

Chapter 3 Path Optimization Chapter 3 Path Optimization Background information on optimization is discussed in this chapter, along with the inequality constraints that are used for the problem. Additionally, the MATLAB program for

More information

Informatica 3 Syntax and Semantics

Informatica 3 Syntax and Semantics Informatica 3 Syntax and Semantics Marcello Restelli 9/15/07 Laurea in Ingegneria Informatica Politecnico di Milano Introduction Introduction to the concepts of syntax and semantics Binding Variables Routines

More information

COMP 250: Java Programming I. Carlos G. Oliver, Jérôme Waldispühl January 17-18, 2018 Slides adapted from M. Blanchette

COMP 250: Java Programming I. Carlos G. Oliver, Jérôme Waldispühl January 17-18, 2018 Slides adapted from M. Blanchette COMP 250: Java Programming I Carlos G. Oliver, Jérôme Waldispühl January 17-18, 2018 Slides adapted from M. Blanchette Variables and types [Downey Ch 2] Variable: temporary storage location in memory.

More information

3.Constructors and Destructors. Develop cpp program to implement constructor and destructor.

3.Constructors and Destructors. Develop cpp program to implement constructor and destructor. 3.Constructors and Destructors Develop cpp program to implement constructor and destructor. Constructors A constructor is a special member function whose task is to initialize the objects of its class.

More information

Lagrangian methods and Smoothed Particle Hydrodynamics (SPH) Computation in Astrophysics Seminar (Spring 2006) L. J. Dursi

Lagrangian methods and Smoothed Particle Hydrodynamics (SPH) Computation in Astrophysics Seminar (Spring 2006) L. J. Dursi Lagrangian methods and Smoothed Particle Hydrodynamics (SPH) Eulerian Grid Methods The methods covered so far in this course use an Eulerian grid: Prescribed coordinates In `lab frame' Fluid elements flow

More information

BIL 104E Introduction to Scientific and Engineering Computing. Lecture 1

BIL 104E Introduction to Scientific and Engineering Computing. Lecture 1 BIL 104E Introduction to Scientific and Engineering Computing Lecture 1 Introduction As engineers and scientists why do we need computers? We use computers to solve a variety of problems ranging from evaluation

More information

Learning Lab 3: Parallel Methods of Solving the Linear Equation Systems

Learning Lab 3: Parallel Methods of Solving the Linear Equation Systems Learning Lab 3: Parallel Methods of Solving the Linear Equation Systems Lab Objective... Eercise State the Problem of Solving the Linear Equation Systems... 2 Eercise 2 - Studying the Gauss Algorithm for

More information

Introduction to GT3. Introduction to GT3. What is a Grid? A Story of Evolution. The Globus Project

Introduction to GT3. Introduction to GT3. What is a Grid? A Story of Evolution. The Globus Project Introduction to GT3 The Globus Project Argonne National Laboratory USC Information Sciences Institute Copyright (C) 2003 University of Chicago and The University of Southern California. All Rights Reserved.

More information

CSE202-Lec#4. CSE202 C++ Programming

CSE202-Lec#4. CSE202 C++ Programming CSE202-Lec#4 Functions and input/output streams @LPU CSE202 C++ Programming Outline Creating User Defined Functions Functions With Default Arguments Inline Functions @LPU CSE202 C++ Programming What is

More information

Intermediate Programming, Spring Misha Kazhdan

Intermediate Programming, Spring Misha Kazhdan 600.120 Intermediate Programming, Spring 2017 Misha Kazhdan Outline Unix/Linux command line Basics of the Emacs editor Compiling and running a simple C program Cloning a repository Connecting to ugrad

More information

CSc Introduction to Computing

CSc Introduction to Computing CSc 10200 Introduction to Computing Lecture 2 Edgardo Molina Fall 2011 - City College of New York Thursday, September 1, 2011 Introduction to C++ Modular program: A program consisting of interrelated segments

More information

Principles of Programming Languages. Objective-C. Joris Kluivers

Principles of Programming Languages. Objective-C. Joris Kluivers Principles of Programming Languages Objective-C Joris Kluivers joris.kluivers@gmail.com History... 3 NeXT... 3 Language Syntax... 4 Defining a new class... 4 Object identifiers... 5 Sending messages...

More information

Algorithms 4. Odd or even Algorithm 5. Greatest among three numbers Algorithm 6. Simple Calculator Algorithm

Algorithms 4. Odd or even Algorithm 5. Greatest among three numbers Algorithm 6. Simple Calculator Algorithm s 4. Odd or even Step 3 : If number divisible by 2 then Print "Number is Even" Step 3.1 : else Print "Number is Odd" Step 4 : Stop 5. Greatest among three numbers Step 2 : Read values of a, b and c Step

More information

We have written lots of code so far It has all been inside of the main() method What about a big program? The main() method is going to get really

We have written lots of code so far It has all been inside of the main() method What about a big program? The main() method is going to get really Week 9: Methods 1 We have written lots of code so far It has all been inside of the main() method What about a big program? The main() method is going to get really long and hard to read Sometimes you

More information

WYSE Academic Challenge Computer Science Test (State) 2015 Solution Set

WYSE Academic Challenge Computer Science Test (State) 2015 Solution Set WYSE Academic Challenge Computer Science Test (State) 2015 Solution Set 1. Correct Answer: E The following shows the contents of the stack (a lifo last in first out structure) after each operation. Instruction

More information

Variables and Bindings

Variables and Bindings Net: Variables Variables and Bindings Q: How to use variables in ML? Q: How to assign to a variable? # let = 2+2;; val : int = 4 let = e;; Bind the value of epression e to the variable Variables and Bindings

More information