Modern Fortran


Book Description

Modern Fortran teaches you to develop fast, efficient parallel applications using twenty-first-century Fortran. In this guide, you’ll dive into Fortran by creating fun apps, including a tsunami simulator and a stock price analyzer. Filled with real-world use cases, insightful illustrations, and hands-on exercises, Modern Fortran helps you see this classic language in a whole new light. Summary Using Fortran, early and accurate forecasts for hurricanes and other major storms have saved thousands of lives. Better designs for ships, planes, and automobiles have made travel safer, more efficient, and less expensive than ever before. Using Fortran, low-level machine learning and deep learning libraries provide incredibly easy, fast, and insightful analysis of massive data. Fortran is an amazingly powerful and flexible programming language that forms the foundation of high performance computing for research, science, and industry. And it's come a long, long way since starting life on IBM mainframes in 1956. Modern Fortran is natively parallel, so it's uniquely suited for efficiently handling problems like complex simulations, long-range predictions, and ultra-precise designs. If you're working on tasks where speed, accuracy, and efficiency matter, it's time to discover—or re-discover—Fortran.. About the technology For over 60 years Fortran has been powering mission-critical scientific applications, and it isn't slowing down yet! Rock-solid reliability and new support for parallel programming make Fortran an essential language for next-generation high-performance computing. Simply put, the future is in parallel, and Fortran is already there. Purchase of the print book includes a free eBook in PDF, Kindle, and ePub formats from Manning Publications. About the book Modern Fortran teaches you to develop fast, efficient parallel applications using twenty-first-century Fortran. In this guide, you'll dive into Fortran by creating fun apps, including a tsunami simulator and a stock price analyzer. Filled with real-world use cases, insightful illustrations, and hands-on exercises, Modern Fortran helps you see this classic language in a whole new light. What's inside Fortran's place in the modern world Working with variables, arrays, and functions Module development Parallelism with coarrays, teams, and events Interoperating Fortran with C About the reader For developers and computational scientists. No experience with Fortran required. About the author Milan Curcic is a meteorologist, oceanographer, and author of several general-purpose Fortran libraries and applications. Table of Contents PART 1 - GETTING STARTED WITH MODERN FORTRAN 1 Introducing Fortran 2 Getting started: Minimal working app PART 2 - CORE ELEMENTS OF FORTRAN 3 Writing reusable code with functions and subroutines 4 Organizing your Fortran code using modules 5 Analyzing time series data with arrays 6 Reading, writing, and formatting your data PART 3 - ADVANCED FORTRAN USE 7 Going parallel with Fortan coarrays 8 Working with abstract data using derived types 9 Generic procedures and operators for any data type 10 User-defined operators for derived types PART 4 - THE FINAL STRETCH 11 Interoperability with C: Exposing your app to the web 12 Advanced parallelism with teams, events, and collectives




CUDA Fortran for Scientists and Engineers


Book Description

CUDA Fortran for Scientists and Engineers shows how high-performance application developers can leverage the power of GPUs using Fortran, the familiar language of scientific computing and supercomputer performance benchmarking. The authors presume no prior parallel computing experience, and cover the basics along with best practices for efficient GPU computing using CUDA Fortran. To help you add CUDA Fortran to existing Fortran codes, the book explains how to understand the target GPU architecture, identify computationally intensive parts of the code, and modify the code to manage the data and parallelism and optimize performance. All of this is done in Fortran, without having to rewrite in another language. Each concept is illustrated with actual examples so you can immediately evaluate the performance of your code in comparison. Leverage the power of GPU computing with PGI’s CUDA Fortran compiler Gain insights from members of the CUDA Fortran language development team Includes multi-GPU programming in CUDA Fortran, covering both peer-to-peer and message passing interface (MPI) approaches Includes full source code for all the examples and several case studies Download source code and slides from the book's companion website




Effective FORTRAN 77


Book Description

An easy-to-use handbook for experienced programmers and scientists, this highly readable survey offers a concise but thorough description of the whole of Fortran 77, including practical advice on program portability, design, testing and documentation. The book benefits from the author's long association with the Fortran standardization committee (X3J3), and his extensive experience with large-scale processing in high-energy physics. Since Fortran 77 is the only practical choice for sizable scientific numerical and engineering applications, this will be an invaluable handbook for computer scientists working with engineers and physicists engaged in large-scale computation.




Modern Fortran in Practice


Book Description

From its earliest days, the Fortran programming language has been designed with computing efficiency in mind. The latest standard, Fortran 2008, incorporates a host of modern features, including object-orientation, array operations, user-defined types, and provisions for parallel computing. This tutorial guide shows Fortran programmers how to apply these features in twenty-first-century style: modular, concise, object-oriented, and resource-efficient, using multiple processors. It offers practical real-world examples of interfacing to C, memory management, graphics and GUIs, and parallel computing using MPI, OpenMP, and coarrays. The author also analyzes several numerical algorithms and their implementations and illustrates the use of several open source libraries. Full source code for the examples is available on the book's website.




Fortran 90 Programming


Book Description

Offering a clear tutorial guide for the new Fortran 90 language, this book highlights Fortran 90's role as a powerful tool for problem-solving in engineering and science. Having been involved in the development of the new standard, the authors provide (as a bonus) an inside perspective on the design rationale behind the major features of Fortran 90.Features comprehensive coverage of all the major language features, with clear guidelines on the differences between the 77 and 90 standards case studies illustrating its applications in scientific problem-solving two authoritative chapters in coding numerical methods in Fortran 90 an early introduction to procedures and modules to encourage a structural approach to programming 0201544466B04062001




Developing Statistical Software in Fortran 95


Book Description

Many books teach computational statistics. Until now, however, none has shown how to write a good program. This book gives statisticians, biostatisticians and methodologically-oriented researchers the tools they need to develop high-quality statistical software. Topics include how to: Program in Fortran 95 using a pseudo object-oriented style Write accurate and efficient computational procedures Create console applications Build dynamic-link libraries (DLLs) and Windows-based software components Develop graphical user interfaces (GUIs) Through detailed examples, readers are shown how to call Fortran procedures from packages including Excel, SAS, SPSS, S-PLUS, R, and MATLAB. They are even given a tutorial on creating GUIs for Fortran computational code using Visual Basic.NET. This book is for those who want to learn how to create statistical applications quickly and effectively. Prior experience with a programming language such as Basic, Fortran or C is helpful but not required. More experienced programmers will learn new strategies to harness the power of modern Fortran and the object-oriented paradigm. This may serve as a supplementary text for a graduate course on statistical computing. From the reviews: "This book should be read by all statisticians, engineers, and scientists who want to implement an algorithm as a computer program. The book is the best introduction to programming that I have ever read. I value it as one of my important reference books in my personal library." Melvin J. Hinich for Techonmetrics, November 2006 "Overall, the book is well written and provides a reasonable introduction to the use of modern versions of Fortran for statistical computation. The real thrust of the book is building COM interfaces using Fortran, and it will no doubt be most useful to anyone who needs to build such interfaces." Journal of the American Statistical Association, June 2006 "The book is well written and is divided into chapters and sections which are coherent...Overall the book seems like a good resource for someone that already knows some dialect of FORTRAN and wants to learn a bit about what is new in FORTRAN 95..." Robert Gentleman for the Journal of Statistical Software, December 2006




Guide to Fortran 2008 Programming


Book Description

This textbook provides an accessible introduction to the most important features of Fortran 2008. Features: presents a complete discussion of all the basic features needed to write complete Fortran programs; makes extensive use of examples and case studies to illustrate the practical use of features of Fortran 08, and supplies simple problems for the reader; provides a detailed exploration of control constructs, modules, procedures, arrays, character strings, data structures and derived types, pointer variables, and object-oriented programming; includes coverage of such major new features in Fortran 08 as coarrays, submodules, parameterized derived types, and derived-type input and output; highlights the topic of modules as the framework for organizing data and procedures for a Fortran program; investigates the excellent input/output facilities available in Fortran; contains appendices listing the many intrinsic procedures and providing a brief informal syntax specification for the language.




Classical Fortran


Book Description

Classical FORTRAN: Programming for Engineering and Scientific Applications, Second Edition teaches how to write programs in the Classical dialect of FORTRAN, the original and still most widely recognized language for numerical computing. This edition retains the conversational style of the original, along with its simple, carefully chosen subset la




Efficient R Programming


Book Description

There are many excellent R resources for visualization, data science, and package development. Hundreds of scattered vignettes, web pages, and forums explain how to use R in particular domains. But little has been written on how to simply make R work effectively—until now. This hands-on book teaches novices and experienced R users how to write efficient R code. Drawing on years of experience teaching R courses, authors Colin Gillespie and Robin Lovelace provide practical advice on a range of topics—from optimizing the set-up of RStudio to leveraging C++—that make this book a useful addition to any R user’s bookshelf. Academics, business users, and programmers from a wide range of backgrounds stand to benefit from the guidance in Efficient R Programming. Get advice for setting up an R programming environment Explore general programming concepts and R coding techniques Understand the ingredients of an efficient R workflow Learn how to efficiently read and write data in R Dive into data carpentry—the vital skill for cleaning raw data Optimize your code with profiling, standard tricks, and other methods Determine your hardware capabilities for handling R computation Maximize the benefits of collaborative R programming Accelerate your transition from R hacker to R programmer




Introduction to Programming with Fortran


Book Description

A comprehensive introduction which will be essential to the complete beginner who wants to learn the fundamentals of programming using a modern, powerful and expressive language; as well as those wanting to update their programming skills by making the move from earlier versions of Fortran.