Using GNU Fortran

Total Page:16

File Type:pdf, Size:1020Kb

Using GNU Fortran Using GNU Fortran For gcc version 7.3.0 (GCC) The gfortran team Published by the Free Software Foundation 51 Franklin Street, Fifth Floor Boston, MA 02110-1301, USA Copyright c 1999-2017 Free Software Foundation, Inc. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.3 or any later version published by the Free Software Foundation; with the Invariant Sections being \Funding Free Software", the Front-Cover Texts being (a) (see below), and with the Back-Cover Texts being (b) (see below). A copy of the license is included in the section entitled \GNU Free Documentation License". (a) The FSF's Front-Cover Text is: A GNU Manual (b) The FSF's Back-Cover Text is: You have freedom to copy and modify this GNU Manual, like GNU software. Copies published by the Free Software Foundation raise funds for GNU development. i Short Contents 1 Introduction ::::::::::::::::::::::::::::::::::::::::: 1 Invoking GNU Fortran 2 GNU Fortran Command Options :::::::::::::::::::::::: 7 3 Runtime: Influencing runtime behavior with environment variables ::::::::::::::::::::::::::::::::::::::::::: 29 Language Reference 4 Fortran 2003 and 2008 Status :::::::::::::::::::::::::: 35 5 Compiler Characteristics :::::::::::::::::::::::::::::: 39 6 Extensions :::::::::::::::::::::::::::::::::::::::::: 43 7 Mixed-Language Programming ::::::::::::::::::::::::: 63 8 Coarray Programming :::::::::::::::::::::::::::::::: 77 9 Intrinsic Procedures ::::::::::::::::::::::::::::::::: 101 10 Intrinsic Modules ::::::::::::::::::::::::::::::::::: 273 Contributing ::::::::::::::::::::::::::::::::::::::::::: 279 GNU General Public License :::::::::::::::::::::::::::::: 283 GNU Free Documentation License ::::::::::::::::::::::::: 295 Funding Free Software ::::::::::::::::::::::::::::::::::: 303 Option Index :::::::::::::::::::::::::::::::::::::::::: 305 Keyword Index ::::::::::::::::::::::::::::::::::::::::: 307 iii Table of Contents 1 Introduction::::::::::::::::::::::::::::::::::::: 1 1.1 About GNU Fortran ::::::::::::::::::::::::::::::::::::::::::: 1 1.2 GNU Fortran and GCC :::::::::::::::::::::::::::::::::::::::: 2 1.3 Preprocessing and conditional compilation :::::::::::::::::::::: 2 1.4 GNU Fortran and G77 ::::::::::::::::::::::::::::::::::::::::: 3 1.5 Project Status ::::::::::::::::::::::::::::::::::::::::::::::::: 3 1.6 Standards :::::::::::::::::::::::::::::::::::::::::::::::::::::: 4 1.6.1 Varying Length Character Strings ::::::::::::::::::::::::: 4 Part I: Invoking GNU Fortran :::::::::::::::::::: 5 2 GNU Fortran Command Options ::::::::::::: 7 2.1 Option summary ::::::::::::::::::::::::::::::::::::::::::::::: 7 2.2 Options controlling Fortran dialect ::::::::::::::::::::::::::::: 8 2.3 Enable and customize preprocessing ::::::::::::::::::::::::::: 12 2.4 Options to request or suppress errors and warnings :::::::::::: 15 2.5 Options for debugging your program or GNU Fortran:::::::::: 19 2.6 Options for directory search ::::::::::::::::::::::::::::::::::: 20 2.7 Influencing the linking step:::::::::::::::::::::::::::::::::::: 21 2.8 Influencing runtime behavior :::::::::::::::::::::::::::::::::: 21 2.9 Options for code generation conventions ::::::::::::::::::::::: 21 2.10 Environment variables affecting gfortran :::::::::::::::::::: 28 3 Runtime: Influencing runtime behavior with environment variables:::::::::::::::::::::::: 29 3.1 TMPDIR|Directory for scratch files :::::::::::::::::::::::::::: 29 3.2 GFORTRAN_STDIN_UNIT|Unit number for standard input :::::: 29 3.3 GFORTRAN_STDOUT_UNIT|Unit number for standard output :::: 29 3.4 GFORTRAN_STDERR_UNIT|Unit number for standard error:::::: 29 3.5 GFORTRAN_UNBUFFERED_ALL|Do not buffer I/O on all units:::: 29 3.6 GFORTRAN_UNBUFFERED_PRECONNECTED|Do not buffer I/O on preconnected units::::::::::::::::::::::::::::::::::::::::::::: 29 3.7 GFORTRAN_SHOW_LOCUS|Show location for runtime errors :::::: 29 3.8 GFORTRAN_OPTIONAL_PLUS|Print leading + where permitted :: 30 3.9 GFORTRAN_DEFAULT_RECL|Default record length for new files :: 30 3.10 GFORTRAN_LIST_SEPARATOR|Separator for list output :::::::: 30 3.11 GFORTRAN_CONVERT_UNIT|Set endianness for unformatted I/O ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 30 3.12 GFORTRAN_ERROR_BACKTRACE|Show backtrace on run-time errors ::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 31 Part II: Language Reference ::::::::::::::::::::: 33 iv The GNU Fortran Compiler 4 Fortran 2003 and 2008 Status :::::::::::::::: 35 4.1 Fortran 2003 status ::::::::::::::::::::::::::::::::::::::::::: 35 4.2 Fortran 2008 status ::::::::::::::::::::::::::::::::::::::::::: 36 4.3 Technical Specification 29113 Status ::::::::::::::::::::::::::: 38 4.4 Technical Specification 18508 Status ::::::::::::::::::::::::::: 38 5 Compiler Characteristics ::::::::::::::::::::: 39 5.1 KIND Type Parameters ::::::::::::::::::::::::::::::::::::::: 39 5.2 Internal representation of LOGICAL variables ::::::::::::::::: 39 5.3 Thread-safety of the runtime library ::::::::::::::::::::::::::: 40 5.4 Data consistency and durability ::::::::::::::::::::::::::::::: 40 5.5 Files opened without an explicit ACTION= specifier :::::::::: 41 5.6 File operations on symbolic links :::::::::::::::::::::::::::::: 41 6 Extensions ::::::::::::::::::::::::::::::::::::: 43 6.1 Extensions implemented in GNU Fortran :::::::::::::::::::::: 43 6.1.1 Old-style kind specifications :::::::::::::::::::::::::::::: 43 6.1.2 Old-style variable initialization ::::::::::::::::::::::::::: 43 6.1.3 Extensions to namelist ::::::::::::::::::::::::::::::::::: 44 6.1.4 X format descriptor without count field ::::::::::::::::::: 45 6.1.5 Commas in FORMAT specifications ::::::::::::::::::::::::: 45 6.1.6 Missing period in FORMAT specifications ::::::::::::::::::: 45 6.1.7 I/O item lists :::::::::::::::::::::::::::::::::::::::::::: 45 6.1.8 Q exponent-letter ::::::::::::::::::::::::::::::::::::::::: 45 6.1.9 BOZ literal constants::::::::::::::::::::::::::::::::::::: 45 6.1.10 Real array indices ::::::::::::::::::::::::::::::::::::::: 46 6.1.11 Unary operators :::::::::::::::::::::::::::::::::::::::: 46 6.1.12 Implicitly convert LOGICAL and INTEGER values :::::::::: 46 6.1.13 Hollerith constants support:::::::::::::::::::::::::::::: 47 6.1.14 Cray pointers ::::::::::::::::::::::::::::::::::::::::::: 47 6.1.15 CONVERT specifier:::::::::::::::::::::::::::::::::::::::: 49 6.1.16 OpenMP:::::::::::::::::::::::::::::::::::::::::::::::: 50 6.1.17 OpenACC :::::::::::::::::::::::::::::::::::::::::::::: 50 6.1.18 Argument list functions %VAL, %REF and %LOC :::::::::::: 51 6.1.19 Read/Write after EOF marker :::::::::::::::::::::::::: 51 6.1.20 STRUCTURE and RECORD :::::::::::::::::::::::::::::::::: 51 6.1.21 UNION and MAP :::::::::::::::::::::::::::::::::::::::::: 54 6.1.22 Type variants for integer intrinsics::::::::::::::::::::::: 56 6.1.23 AUTOMATIC and STATIC attributes ::::::::::::::::::::::: 57 6.1.24 Extended math intrinsics :::::::::::::::::::::::::::::::: 57 6.1.25 Form feed as whitespace::::::::::::::::::::::::::::::::: 58 6.1.26 TYPE as an alias for PRINT:::::::::::::::::::::::::::: 58 6.1.27 %LOC as an rvalue ::::::::::::::::::::::::::::::::::::: 58 6.1.28 .XOR. operator ::::::::::::::::::::::::::::::::::::::::: 59 6.1.29 Bitwise logical operators :::::::::::::::::::::::::::::::: 59 6.1.30 Extended I/O specifiers ::::::::::::::::::::::::::::::::: 59 6.1.31 Legacy PARAMETER statements ::::::::::::::::::::::: 60 v 6.1.32 Default exponents ::::::::::::::::::::::::::::::::::::::: 61 6.2 Extensions not implemented in GNU Fortran :::::::::::::::::: 61 6.2.1 ENCODE and DECODE statements ::::::::::::::::::::::::::: 61 6.2.2 Variable FORMAT expressions :::::::::::::::::::::::::::::: 62 6.2.3 Alternate complex function syntax:::::::::::::::::::::::: 62 6.2.4 Volatile COMMON blocks:::::::::::::::::::::::::::::::::::: 62 6.2.5 OPEN( ... NAME=):::::::::::::::::::::::::::::::::::::::: 62 7 Mixed-Language Programming::::::::::::::: 63 7.1 Interoperability with C :::::::::::::::::::::::::::::::::::::::: 63 7.1.1 Intrinsic Types ::::::::::::::::::::::::::::::::::::::::::: 63 7.1.2 Derived Types and struct::::::::::::::::::::::::::::::::: 63 7.1.3 Interoperable Global Variables:::::::::::::::::::::::::::: 64 7.1.4 Interoperable Subroutines and Functions:::::::::::::::::: 64 7.1.5 Working with Pointers ::::::::::::::::::::::::::::::::::: 66 7.1.6 Further Interoperability of Fortran with C :::::::::::::::: 68 7.2 GNU Fortran Compiler Directives ::::::::::::::::::::::::::::: 69 7.3 Non-Fortran Main Program ::::::::::::::::::::::::::::::::::: 70 7.3.1 _gfortran_set_args | Save command-line arguments ::: 70 7.3.2 _gfortran_set_options | Set library option flags::::::: 71 7.3.3 _gfortran_set_convert | Set endian conversion :::::::: 72 7.3.4 _gfortran_set_record_marker | Set length of record markers :::::::::::::::::::::::::::::::::::::::::::::::::::: 72 7.3.5 _gfortran_set_fpe | Enable floating point exception traps :::::::::::::::::::::::::::::::::::::::::::::::::::::::::::: 73 7.3.6 _gfortran_set_max_subrecord_length | Set subrecord length :::::::::::::::::::::::::::::::::::::::::::::::::::::: 73 7.4 Naming and argument-passing conventions :::::::::::::::::::: 73 7.4.1 Naming conventions :::::::::::::::::::::::::::::::::::::: 74 7.4.2 Argument passing conventions :::::::::::::::::::::::::::: 74 8 Coarray Programming :::::::::::::::::::::::: 77 8.1 Type and enum ABI Documentation :::::::::::::::::::::::::: 77 8.1.1 caf_token_t ::::::::::::::::::::::::::::::::::::::::::::: 77
Recommended publications
  • Fortran Reference Guide
    FORTRAN REFERENCE GUIDE Version 2018 TABLE OF CONTENTS Preface............................................................................................................ xv Audience Description......................................................................................... xv Compatibility and Conformance to Standards............................................................ xv Organization................................................................................................... xvi Hardware and Software Constraints...................................................................... xvii Conventions................................................................................................... xvii Related Publications........................................................................................ xviii Chapter 1. Language Overview............................................................................... 1 1.1. Elements of a Fortran Program Unit.................................................................. 1 1.1.1. Fortran Statements................................................................................. 1 1.1.2. Free and Fixed Source............................................................................. 2 1.1.3. Statement Ordering................................................................................. 2 1.2. The Fortran Character Set.............................................................................. 3 1.3. Free Form Formatting..................................................................................
    [Show full text]
  • Introduction to Linux on System Z
    IBM Linux and Technology Center Introduction to Linux on System z Mario Held IBM Lab Boeblingen, Germany © 2009 IBM Corporation IBM Linux and Technology Center Trademarks The following are trademarks of the International Business Machines Corporation in the United States, other countries, or both. Not all common law marks used by IBM are listed on this page. Failure of a mark to appear does not mean that IBM does not use the mark nor does it mean that the product is not actively marketed or is not significant within its relevant market. Those trademarks followed by ® are registered trademarks of IBM in the United States; all others are trademarks or common law marks of IBM in the United States. For a complete list of IBM Trademarks, see www.ibm.com/legal/copytrade.shtml: *, AS/400®, e business(logo)®, DBE, ESCO, eServer, FICON, IBM®, IBM (logo)®, iSeries®, MVS, OS/390®, pSeries®, RS/6000®, S/30, VM/ESA®, VSE/ESA, WebSphere®, xSeries®, z/OS®, zSeries®, z/VM®, System i, System i5, System p, System p5, System x, System z, System z9®, BladeCenter® The following are trademarks or registered trademarks of other companies. Adobe, the Adobe logo, PostScript, and the PostScript logo are either registered trademarks or trademarks of Adobe Systems Incorporated in the United States, and/or other countries. Cell Broadband Engine is a trademark of Sony Computer Entertainment, Inc. in the United States, other countries, or both and is used under license therefrom. Java and all Java-based trademarks are trademarks of Sun Microsystems, Inc. in the United States, other countries, or both.
    [Show full text]
  • AIX Migration to Cloud with IBM Power Virtual Server
    AIX Migration to Cloud with IBM Power Virtual Server An IBM Systems Lab Services Tutorial Aaron Bolding Berjis Patel Vess Natchev [email protected] TABLE OF CONTENTS CHAPTER 1: SOLUTION OVERVIEW............................. 1 Introduction ................................................................................ 1 Use Cases .................................................................................. 1 Migration via PowerVC OVA ..................................................... 1 Transfer System Backup Using the Public Internet ..................... 2 Transfer System Backup Using Cloud Object Storage ................. 2 Solution Components and Requirements ........................................ 2 Components .......................................................................... 2 Migration via PowerVC OVA ..................................................... 2 Transfer System Backup Using the Public Internet ..................... 2 Transfer System Backup Using Cloud Object Storage ................. 2 Requirements ........................................................................ 3 Solution Diagrams ....................................................................... 3 Transfer System Backup Using the Public Internet ..................... 3 Transfer System Backup Using Cloud Object Storage ................. 4 CHAPTER 2: IMPLEMENTATION .................................. 5 Migration via PowerVC OVA .......................................................... 5 Procedure to Configure IBM Cloud Object Storage .....................
    [Show full text]
  • RACF Command Tips
    RACF Command Tips SHARE ‐ March 2015 Session 18875 RSH Consulting ‐ Robert S. Hansel RSH Consulting, Inc. is an IT security professional services firm established in 1992 and dedicated to helping clients strengthen their IBM z/OS mainframe access controls by fully exploiting all the capabilities and latest innovations in RACF. RSH's services include RACF security reviews and audits, initial implementation of new controls, enhancement and remediation of existing controls, and training. • www.rshconsulting.com • 617‐969‐9050 Robert S. Hansel is Lead RACF Specialist and founder of RSH Consulting, Inc. He began working with RACF in 1986 and has been a RACF administrator, manager, auditor, instructor, developer, and consultant. Mr. Hansel is especially skilled at redesigning and refining large‐scale implementations of RACF using role‐based access control concepts. He is a leading expert in securing z/OS Unix using RACF. Mr. Hansel has created elaborate automated tools to assist clients with RACF administration, database merging, identity management, and quality assurance. • 617‐969‐8211 • [email protected] • www.linkedin.com/in/roberthansel • http://twitter.com/RSH_RACF RACF Command Tips SHARE 2 © 2016 RSH Consulting, Inc. All Rights Reserved. March 2016 Topics . User Commands . Group Commands . Dataset Command . General Resource Commands . PERMIT Command . Generic Profile Refresh . List Commands . SEARCH Command . Console Command Entry . Building Commands with Microsoft Excel RACF and z/OS are Trademarks of the International Business Machines Corporation RACF Command Tips SHARE 3 © 2016 RSH Consulting, Inc. All Rights Reserved. March 2016 User Commands . ADDUSER Defaults: • OWNER ‐ Creator's ID • DFLTGRP ‐ Creator's Current Connect Group • PASSWORD ‐ Pre‐z/OS 2.2: Default Group z/OS 2.2: NOPASSWORD • Always specify when creating new ID .
    [Show full text]
  • Implementing Nfsv4 in the Enterprise: Planning and Migration Strategies
    Front cover Implementing NFSv4 in the Enterprise: Planning and Migration Strategies Planning and implementation examples for AFS and DFS migrations NFSv3 to NFSv4 migration examples NFSv4 updates in AIX 5L Version 5.3 with 5300-03 Recommended Maintenance Package Gene Curylo Richard Joltes Trishali Nayar Bob Oesterlin Aniket Patel ibm.com/redbooks International Technical Support Organization Implementing NFSv4 in the Enterprise: Planning and Migration Strategies December 2005 SG24-6657-00 Note: Before using this information and the product it supports, read the information in “Notices” on page xi. First Edition (December 2005) This edition applies to Version 5, Release 3, of IBM AIX 5L (product number 5765-G03). © Copyright International Business Machines Corporation 2005. All rights reserved. Note to U.S. Government Users Restricted Rights -- Use, duplication or disclosure restricted by GSA ADP Schedule Contract with IBM Corp. Contents Notices . xi Trademarks . xii Preface . xiii The team that wrote this redbook. xiv Acknowledgments . xv Become a published author . xvi Comments welcome. xvii Part 1. Introduction . 1 Chapter 1. Introduction. 3 1.1 Overview of enterprise file systems. 4 1.2 The migration landscape today . 5 1.3 Strategic and business context . 6 1.4 Why NFSv4? . 7 1.5 The rest of this book . 8 Chapter 2. Shared file system concepts and history. 11 2.1 Characteristics of enterprise file systems . 12 2.1.1 Replication . 12 2.1.2 Migration . 12 2.1.3 Federated namespace . 13 2.1.4 Caching . 13 2.2 Enterprise file system technologies. 13 2.2.1 Sun Network File System (NFS) . 13 2.2.2 Andrew File System (AFS) .
    [Show full text]
  • IBM SPSS Decision Trees Business Analytics
    IBM Software IBM SPSS Decision Trees Business Analytics IBM SPSS Decision Trees Easily identify groups and predict outcomes IBM® SPSS® Decision Trees creates classification and decision trees to Highlights help you better identify groups, discover relationships between groups and predict future events. • Identify groups, segments, and patterns in a highly visual manner with classification trees. You can use classification and decision trees for: • Choose from CHAID, Exhaustive • Segmentation CHAID, C&RT and QUEST to find the • Stratification best fit for your data. • Prediction • Present results in an intuitive manner— • Data reduction and variable screening perfect for non-technical audiences. • Interaction identification • Save information from trees as new • Category merging variables in data (information such as • Discretizing continuous variables terminal node number, predicted value and predicted probabilities). Highly visual diagrams enable you to present categorical results in an intuitive manner—so you can more clearly explain the results to non-technical audiences. These trees enable you to explore your results and visually determine how your model flows. Visual results can help you find specific subgroups and relationships that you might not uncover using more traditional statistics. Because classification trees break the data down into branches and nodes, you can easily see where a group splits and terminates. IBM Software IBM SPSS Decision Trees Business Analytics Use SPSS Decision Trees in a variety of applications, • Marketing
    [Show full text]
  • Worldwide Artificial Intelligence Market Shares, 2018: Steady Growth — Pocs Poised to Enter Full-Blown Production
    Market Share Worldwide Artificial Intelligence Market Shares, 2018: Steady Growth — POCs Poised to Enter Full-Blown Production Ritu Jyoti Peter Rutten Natalya Yezhkova Ali Zaidi THIS IDC MARKET SHARE EXCERPT FEATURES IBM IDC MARKET SHARE FIGURE FIGURE 1 Worldwide Artificial Intelligence 2018 Share Snapshot Note: 2018 Share (%), Revenue ($M), and Growth (%) Source: IDC, 2019 July 2019, IDC #US45334719e IN THIS EXCERPT The content for this excerpt was taken directly from IDC Market Share: Worldwide Artificial Intelligence Market Shares, 2018: Steady Growth — POCs Poised to Enter Full-Blown Production (Doc # US45334719). All or parts of the following sections are included in this excerpt: Executive Summary, Market Share, Who Shaped the Year, Market Context, Appendix and Learn More. Also included is Figure 1, Table 1 and 2. EXECUTIVE SUMMARY The artificial intelligence (AI) market experienced steady growth in 2018, growing 35.6% to $28.1 billion. As per IDC's Artificial Intelligence Global Adoption Trends and Strategies Survey of 2,473 organizations of various sizes across industries worldwide by those that are using artificial intelligence (AI) solutions, either developing them in-house, using COTS, or a combination of both: 18% had AI models in production, 16% were in the proof-of-concept (POC) stage, and 15% were experimenting with AI. While automation, business agility, and customer satisfaction are the primary drivers for AI initiatives, cost of the solution, lack of skilled personnel, and bias in data have held organizations from implementing AI broadly. In the past 12 months, organizations worldwide have used AI in IT operations, customer service and support, finance and accounting, and ecommerce with major redesign to their business processes to maximize the ROI of AI.
    [Show full text]
  • CIFS SMB2 SMB3 Meets Linux a Year in Review
    The Future of File Protocols: CIFS SMB2 SMB3 Meets Linux A Year in Review Steve French Senior Engineer – File System Architect IBM Linux Technology Center 1 IBM, Linux, and Building a Smarter Planet © 2012 IBM Corporation Legal Statement – This work represents the views of the author(s) and does not necessarily reflect the views of IBM Corporation – A full list of U.S. trademarks owned by IBM may be found at http://www.ibm.com/legal/copytrade.shtml. – Linux is a registered trademark of Linus Torvalds. – Other company, product, and service names may be trademarks or service marks of others. 2 © 2012 IBM Corporation Who am I? – Steve French ([email protected] or [email protected]) – Author and maintainer of Linux cifs vfs (for accessing Samba, Windows and various SMB/CIFS based NAS appliances) – Wrote initial SMB2 kernel client prototype – Member of the Samba team, coauthor of SNIA CIFS Technical Reference and former SNIA CIFS Working Group chair – Architect: File Systems/NFS/Samba for IBM Linux Technology Center © 2012 IBM Corporation SMB3: Great Feature Set, Broad Deployment, Amazing Performance ● Introduction of new storage features in Windows 8 causing one of most dramatic shifts in storage industry as companies rapidly move to support “SMB3” (aka SMB2.2) ● “SMB2.2 (CIFS) screams over InfiniBand” (Storage CH Blog) • Is (traditional) SAN use going to die? – “Market trends show virtualization workloads moving to NAS” (Dennis Chapman, Technical Director NetApp, SNIA SDC 2011) – “Unstructured data (file-based) storage is growing faster than structured data” (Thomas Pfenning, Microsoft GM, SNIA SDC 2011) – Customers prefer “file” • SMB2/CIFS market share is MUCH larger than NFS.
    [Show full text]
  • Parallel Programming in Fortran 95 Using Openmp
    Parallel Programming in Fortran 95 using OpenMP Miguel Hermanns School of Aeronautical Engineering Departamento de Motopropulsi´on y Termofluidodin´amica Universidad Polit´ecnica de Madrid Spain email: [email protected] 19th of April 2002 Contents 1 OpenMP Fortran Application Program Interface 1 1.1Introduction................................... 1 1.1.1 Historicalremarks........................... 2 1.1.2 Whoisparticipating.......................... 2 1.1.3 Aboutthisdocument.......................... 3 1.2Thebasics.................................... 4 1.2.1 The sentinels for OpenMP directives and conditional compilation . 4 1.2.2 Theparallelregionconstructor.................... 5 2 OpenMP constructs 9 2.1Work-sharingconstructs............................ 9 2.1.1 !$OMP DO/!$OMP END DO ........................ 10 2.1.2 !$OMP SECTIONS/!$OMP END SECTIONS ................ 15 2.1.3 !$OMP SINGLE/!$OMP END SINGLE .................. 16 2.1.4 !$OMP WORKSHARE/!$OMP END WORKSHARE .............. 17 2.2Combinedparallelwork-sharingconstructs.................. 20 2.2.1 !$OMP PARALLEL DO/!$OMP END PARALLEL DO ............ 21 2.2.2 !$OMP PARALLEL SECTIONS/!$OMP END PARALLEL SECTIONS .... 21 2.2.3 !$OMP PARALLEL WORKSHARE/!$OMP END PARALLEL WORKSHARE .. 21 2.3Synchronizationconstructs........................... 22 2.3.1 !$OMP MASTER/!$OMP END MASTER .................. 22 2.3.2 !$OMP CRITICAL/!$OMP END CRITICAL ................ 22 2.3.3 !$OMP BARRIER ............................. 24 2.3.4 !$OMP ATOMIC .............................. 26 2.3.5 !$OMP FLUSH .............................. 27 2.3.6 !$OMP ORDERED/!$OMP END ORDERED ................. 30 2.4Dataenvironmentconstructs.......................... 32 2.4.1 !$OMP THREADPRIVATE (list) .................... 32 3 PRIVATE, SHARED & Co. 37 3.1 Data scope attribute clauses . 37 3.1.1 PRIVATE(list) ............................. 37 3.1.2 SHARED(list) .............................. 38 3.1.3 DEFAULT( PRIVATE | SHARED | NONE ) ............... 39 i ii CONTENTS 3.1.4 FIRSTPRIVATE(list) .........................
    [Show full text]
  • Open Source Software: What Business Lawyers, Entrepreneurs and IT Professionals Should Know
    Open Source Software: What Business Lawyers, Entrepreneurs and IT Professionals Should Know Stuart R. Hemphill Partner Minneapolis P: (612) 340-2734 F: (612) 340-8856 [email protected] © 2016 Dorsey & Whitney LLP Source vs. Object Source Code Object Code Programmer readable statements in Machine readable Binary: a computer language, such as C, C++, Cobol, Fortran, Java, Perl, 000010100010001010 PHP 110001010000010100 000100101010001011 // Create a button and add it to the applet. // Also, set the button's colors clear_button = new Button("Clear"); Or Hexadecimal clear_button.setForeground(Color.black); clear_button.setBackground(Color.lightGray); 3F7A this.add(clear_button); (translates to the following binary number: 0011 1111 0111 1010) 2 History of Open Source Software . Term coined in February 1998 by Silicon Valley insiders in anticipation of Netscape’s announcement that it would release the source code for its browser software . This meant software coders could understand the browser’s working details and potentially modify them . 1998 was a momentous time for open source movement given mainstream adoption of internet . But concept significantly pre-dates coining of term 3 Free Software Foundation . Free Software Foundation (FSF), created in 1983 by Richard Stallman of MIT with goal of developing free version of UNIX operating system; everyone could share and change this version . According to FSF, “‘Free software’ is a matter of liberty, not price … think of ‘free’ as in ‘free speech,’ not as in ‘free beer.’” . Stallman wrote a license leveraging copyright in base code and intended to keep derivatives of base software “free” by requiring source code disclosure . Non-negotiable terms; accept by use .
    [Show full text]
  • Sharing Page Tables in the Linux Kernel
    Sharing Page Tables in the Linux Kernel Dave McCracken IBM Linux Technology Center Austin, TX [email protected] Abstract ever possible. The MM subsystem currently does not, however, make any attempt to share An ongoing barrier to scalability has been the the lowest layer of the page tables, even though amount of memory taken by page tables, es- these may also be identical between address pecially when large numbers of tasks are map- spaces. ping the same shared region. A solution for this Detecting when these page tables may be problem is for those tasks to share a common shared, and setting up sharing for them is fairly set of page tables for those regions. straightforward. In the following sections the An additional benefit to implementing shared current MM data structures are described, fol- page tables is the ability to share all the page lowed by an explanation of how and when the tables during fork in a copy-on-write fashion. page tables would be shared. Finally some is- This sharing speeds up fork immensely for sues in the implementation and some perfor- large processes, especially given the increased mance results are described. overhead introduced by rmap. 2 Major Data Structures This paper discusses my implementation of shared page tables. It covers the areas that are improved by sharing as well as its limitations. To understand the issues addressed by shared I will also cover the highlights of how shared page tables it is helpful to understand the struc- page tables was implemented and discuss some tures that make up the Linux MM.
    [Show full text]
  • Planning Your Upgrade to HCL Notes and Domino V11.0.1
    Planning your Upgrade to HCL Notes and Domino V11.0.1 Document V1.0.6 – December 8, 2020 Written By: Kendra Bowker ([email protected]), Natalie Mezzina ([email protected]), John Paganetti ([email protected]) Edited By: Casey Toole ([email protected]), Brian Arnold ([email protected]) 1-1 Table of Contents Introducing Notes and Domino V11.0.1.................................................................................... 1-5 What’s been removed? .......................................................................................................................... 1-5 Domino Versions Supported for Upgrade to V11.0.1 ............................................................................ 1-6 Security Considerations Prior to Performing Upgrades ............................................................ 2-7 Notes IDs ................................................................................................................................................ 2-7 ID Vault – Maintaining ID file Synchronization ...................................................................................... 2-7 SAML and Federated Login .................................................................................................................... 2-7 Database Encryption .............................................................................................................................. 2-7 Whitelist Active Content Filter (ACF) for iNotes and Verse ..................................................................
    [Show full text]