Evolution of Compiler Optimization Techniques at Carnegie Mellon
Explore the rich history of compiler optimization techniques at Carnegie Mellon University, from the early days of machine code programming to the development of high-level languages like FORTRAN. Learn about key figures such as Grace Hopper, John Backus, and Fran Allen who revolutionized the field
0 views • 49 slides
Time Stepping and Leapfrog Scheme for 2D Linear Advection Equation
Implementation of a time stepping loop for a simple 2D linear advection equation using the leapfrog scheme. The task involves establishing a 2D model framework, demonstrating phase and dispersion errors, defining boundary conditions, and initializing GrADS if applicable. The model domain is square a
0 views • 23 slides
Determining OBS Clock Drift Using Seismic Interferometry
Determining clock errors in Ocean Bottom Seismometers (OBSs) is crucial for accurate seismic data recording. This study presents a method using ambient seismic noise and seismic interferometry to correct clock drift in OBSs. The program developed employs Python/Fortran to analyze seismic data direct
0 views • 10 slides
Understanding Multiple Scattering Programs in Fortran for Neutron Diffraction and Inelastic Analysis
Multiple scattering programs like MSCAT and DISCUS, written in Fortran since the 70s, are essential tools for neutron diffraction and inelastic analysis. These programs allow for the calculation of neutron cross-sections, scattering angles, and sample geometries. The results obtained include elastic
0 views • 8 slides
Introduction to OpenMP: A Parallel Programming API
OpenMP, an API for multi-threaded, shared memory parallelism, is supported by compilers like C/C++ and Fortran. It consists of compiler directives, runtime library resources, and environment variables. The history spans various specification versions, with features like tasks, SIMD, and memory model
0 views • 33 slides
Shared-Memory Computing with Open MP
Shared-memory computing with Open MP offers a parallel programming model that is portable and scalable across shared-memory architectures. It allows for incremental parallelization, compiler-based thread program generation, and synchronization. Open MP pragmas help in parallelizing individual comput
0 views • 25 slides
Fortran Programming Tips - ATM 562 Fall 2018 Fovell
Background on Fortran programming emphasizing math, rules for variable types, use of arrays, and a sample Fortran program structure, including tips and best practices.
0 views • 15 slides
Overview of CAIN Particle Tracking Code for High-Energy Colliders
CAIN is a particle tracking code used for high-energy collider simulations since 1984. Initially named ABEL, it evolved to include beam-laser interactions for gamma-gamma colliders. The code, written in FORTRAN 90, handles beam-beam and external fields, with a structure where all particles are store
0 views • 17 slides
Reading and Writing GRIB2 Using Fortran and wgrib2api
Discover how to efficiently read and write GRIB2 files using Fortran utilities like CDO, GDAL, GrADS, NCL, and wgrib2api. Learn about the process, considerations for converting formats, the use of libraries like ecCodes, and practical examples for implementing these tools in your workflow.
0 views • 48 slides
Understanding Fortran Templates and Compiler-Driven Design Goals
Delve into the world of Fortran templates through a primer on generics, showcasing design goals set by the compiler. Explore syntax examples and motivating examples such as the AXPY subroutine, offering insight into the self-consistent nature of templates and their flexibility in parameter combinati
0 views • 9 slides