test_markdown
add modifications
非科学计数法显示数字
citation[1]
format bank% do not use scientific expression
format long% use long double format
format short% use short double format
1.list equation in left
\(\pi=x^2+\pi\)
2.list equation in middle
3.example
4.example
reference[2]
测试
数学公式
x=y^2+3*\pi
\(x=\pi+y^2\)
Python source code example
@requires_authorization
def somefunc(param1='', param2=0):
'''A docstring'''
if param1 > param2: # interesting
print 'Greater'
return (param2 - param1 + 1) or None
class SomeClass:
pass
>>> message = '''interpreter
... prompt'''
TEST github makedown scripts:
<meta content="https://avatars0.githubusercontent.com/u/1010472?v=3&s=400" property="og:image" /><meta content="GitHub" property="og:site_name" /><meta content="object" property="og:type" /><meta content="sourceryinstitute/OpenCoarrays" property="og:title" /><meta content="https://github.com/sourceryinstitute/OpenCoarrays" property="og:url" /><meta content="OpenCoarrays - A transport layer for coarray Fortran compilers. " property="og:description" />
<meta name="hostname" content="github.com">
<meta name="expected-hostname" content="github.com">
<meta name="js-proxy-site-detection-payload" content="ZTljMjYzOWI5NzE2YzQyODg5NWIwMjE3MmNlOTI5ZWRmNDgzMTczZmM4YjRiZDM3ZWNmYTI1NDg4MWFkNDFhZHx7InJlbW90ZV9hZGRyZXNzIjoiNjEuMTkwLjg4LjE1NyIsInJlcXVlc3RfaWQiOiJENzVFOjg0MDA6OEM5MTc5OkRDRTI4NDo1OTY1Q0JBNyIsInRpbWVzdGFtcCI6MTQ5OTg0MzQ5NSwiaG9zdCI6ImdpdGh1Yi5jb20ifQ==">
<link href="https://github.com/sourceryinstitute/OpenCoarrays/commits/master.atom" rel="alternate" title="Recent Commits to OpenCoarrays:master" type="application/atom+xml">
<link rel="canonical" href="https://github.com/sourceryinstitute/OpenCoarrays/blob/master/README.md" data-pjax-transient>
</head>
<header class="site-header js-details-container Details" role="banner">
<button class="btn-link float-right site-header-toggle js-details-target" type="button" aria-label="Toggle navigation" aria-expanded="false">
<svg aria-hidden="true" class="octicon octicon-three-bars" height="24" version="1.1" viewBox="0 0 12 16" width="18"><path fill-rule="evenodd" d="M11.41 9H.59C0 9 0 8.59 0 8c0-.59 0-1 .59-1H11.4c.59 0 .59.41.59 1 0 .59 0 1-.59 1h.01zm0-4H.59C0 5 0 4.59 0 4c0-.59 0-1 .59-1H11.4c.59 0 .59.41.59 1 0 .59 0 1-.59 1h.01zM.59 11H11.4c.59 0 .59.41.59 1 0 .59 0 1-.59 1H.59C0 13 0 12.59 0 12c0-.59 0-1 .59-1z"/></svg>
</button>
<div class="site-header-menu">
<nav class="site-header-nav">
<a href="/features" class="js-selected-navigation-item nav-item" data-ga-click="Header, click, Nav menu - item:features" data-selected-links="/features /features/code-review /features/project-management /features/integrations /features">
Features
Business
Explore
Marketplace
Pricing
<div class="site-header-actions">
<div class="header-search scoped-search site-scoped-search js-site-search" role="search">
<a class="text-bold site-header-link" href="/login?return_to=%2Fsourceryinstitute%2FOpenCoarrays%2Fblob%2Fmaster%2FREADME.md" data-ga-click="(Logged out) Header, clicked Sign in, text:sign-in">Sign in</a>
<span class="text-gray">or</span>
<a class="text-bold site-header-link" href="/join?source=header-repo" data-ga-click="(Logged out) Header, clicked Sign up, text:sign-up">Sign up</a>
</div>
</div>
<div id="js-flash-container">
<div class="pagehead repohead instapaper_ignore readability-menu experiment-repo-nav">
<div class="container repohead-details-container">
<ul class="pagehead-actions">
<a class="social-count js-social-count" href="/sourceryinstitute/OpenCoarrays/stargazers"
aria-label="52 users starred this repository">
52
</a>
<a href="/sourceryinstitute/OpenCoarrays/network" class="social-count"
aria-label="26 users forked this repository">
26
</a>
<h1 class="public ">
</div>
<div class="container">
</div>
</div>
<div class="commit-tease-contributors">
<img alt="" class="loader-loading float-left" height="16" src="https://assets-cdn.github.com/images/spinners/octocat-spinner-32-EAF2F5.gif" width="16" />
<span class="loader-error">Cannot retrieve contributors at this time</span>
</div>
<div class="BtnGroup">
<a href="/sourceryinstitute/OpenCoarrays/raw/master/README.md" class="btn btn-sm BtnGroup-item" id="raw-url">Raw</a>
<a href="/sourceryinstitute/OpenCoarrays/blame/master/README.md" class="btn btn-sm js-update-url-with-hash BtnGroup-item" data-hotkey="b">Blame</a>
<a href="/sourceryinstitute/OpenCoarrays/commits/master/README.md" class="btn btn-sm BtnGroup-item" rel="nofollow">History</a>
</div>
<button type="button" class="btn-octicon disabled tooltipped tooltipped-nw"
aria-label="You must be signed in to make or propose changes">
<svg aria-hidden="true" class="octicon octicon-pencil" height="16" version="1.1" viewBox="0 0 14 16" width="14"><path fill-rule="evenodd" d="M0 12v3h3l8-8-3-3-8 8zm3 2H1v-2h1v1h1v1zm10.3-9.3L12 6 9 3l1.3-1.3a.996.996 0 0 1 1.41 0l1.59 1.59c.39.39.39 1.02 0 1.41z"/></svg>
</button>
<button type="button" class="btn-octicon btn-octicon-danger disabled tooltipped tooltipped-nw"
aria-label="You must be signed in to make or propose changes">
<svg aria-hidden="true" class="octicon octicon-trashcan" height="16" version="1.1" viewBox="0 0 12 16" width="12"><path fill-rule="evenodd" d="M11 2H9c0-.55-.45-1-1-1H5c-.55 0-1 .45-1 1H2c-.55 0-1 .45-1 1v1c0 .55.45 1 1 1v9c0 .55.45 1 1 1h7c.55 0 1-.45 1-1V5c.55 0 1-.45 1-1V3c0-.55-.45-1-1-1zm-1 12H3V5h1v8h1V5h1v8h1V5h1v8h1V5h1v9zm1-10H2V3h9v1z"/></svg>
</button>
OpenCoarrays
Overview · Downloads · Compatibility · Prerequisites · Installation · Getting Started · Contributing · Status · Support · Acknowledgements · Donate
Overview
OpenCoarrays is an open-source software project that supports the coarray Fortran (CAF) parallel programming features of the Fortran 2008 standard and several features proposed for Fortran 2015 in the draft Technical Specification TS 18508 Additional Parallel Features in Fortran.
OpenCoarrays provides a compiler wrapper (named caf
), a runtime
library (named libcaf_mpi.a
by default), and an executable file
launcher (named cafrun
). With OpenCoarrays-aware compilers, the
compiler wrapper passes the provided source code to the chosen
compiler (mpif90
by default). For non-OpenCoarrays-aware compilers,
the wrapper transforms CAF syntax into OpenCoarrays procedure calls
before invoking the chosen compiler on the transformed code. The
runtime library supports compiler communication and synchronization
requests by invoking a lower-level communication library--the Message
Passing Interface (MPI) by default. The launcher passes execution
to the chosen communication library's parallel program launcher
(mpirun
by default).
OpenCoarrays defines an application binary interface (ABI) that translates high-level communication and synchronization requests into low-level calls to a user-specified communication library. This design decision liberates compiler teams from hardwiring communication-library choice into their compilers and it frees Fortran programmers to express parallel algorithms once and reuse identical CAF source with whichever communication library is most efficient for a given hardware platform. The communication substrate for OpenCoarrays built with the preferred build system, CMake, is the Message Passing Interface (MPI).
OpenCoarrays enables CAF application developers to express parallel algorithms without hardwiring a particular version of a particular communication library or library version into their codes. Such abstraction makes application code less sensitive to the evolution of the underlying communication libraries and hardware platforms.
Downloads
Please see our Releases page.
Compatibility
The GNU Compiler Collection (GCC) Fortran front end (gfortran) is
OpenCoarrays-aware for release versions 5.1.0 and higher. Users of
other compilers, including earlier versions of gfortran, can access a
limited subset of CAF features via the provided opencoarrays module.
After installation, please execute the caf
script (which is
installed in the bin
directory of the installation path) with no
arguments to see a list of the corresponding limitations. Please also
notify the corresponding compiler vendor and the OpenCoarrays team
that you would like for a future version of the compiler to be
OpenCoarrays-aware.
Prerequisites
We expect our LIBCAF_MPI library to be the default OpenCoarrays library. LIBCAF_MPI is the most straightforward to install and use, the most robust in terms of its internal complexity, and the most frequently updated and maintained. Building LIBCAF_MPI requires prior installation of an MPI implementation. We recommend MPICH generally or, if available, MVAPICH for better performance. OpenMPI is another option.
We offer an unsupported LIBCAF_GASNet alternative. We intend for LIBCAF_GASNet to be an "expert" alternative capable of outperforming MPI for some applications on some platforms. LIBCAF_GASNet requires greater care to configure and use and building LIBCAF_GASNet requires prior installation of GASNet.
Installation
Please see the INSTALL.md file.
Getting Started
To start using OpenCoarrays, please see the GETTING_STARTED.md file.
Contributing
Please see the CONTRIBUTING.md file.
Status
A list of open issues can be viewed on the issues page.
Support
- Please submit bug reports and feature requests via our Issues page.
- Please submit questions regarding installation and use via our Google Group by signing into Google Groups or subscribing and sending email to opencoarrays@googlegroups.com.
Acknowledgements
We gratefully acknowledge support from the following institutions:
- National Center for Atmospheric Research for access to the Yellowstone/Caldera supercomputers and for logistics support during the initial development of OpenCoarrays.
- CINECA for access to Eurora/PLX for the project HyPS- BLAS under the ISCRA grant program for 2014.
- Google for support of a related Google Summer of Code 2014 project.
- The National Energy Research Scientific Computing Center (NERSC), which is supported by the Office of Science of the U.S. Department of Energy under Contract No. DE-AC02-05CH11231, for access to the Hopper and Edison supercomputers under the OpenCoarrays project start allocation.
- Sourcery, Inc., for financial support for the domain registration, web hosting, advanced development, and conference travel.
Donate
If you find this software useful, please consider donating your time or your money to aid in development efforts.
</div>
<script crossorigin="anonymous" integrity="sha256-ppOnsBnDIasqNFKIsGSIce0coP+bwNb7uTuu6vc2HpU=" src="https://assets-cdn.github.com/assets/frameworks-a693a7b019c321ab2a345288b0648871ed1ca0ff9bc0d6fbb93baeeaf7361e95.js"></script>
<script async="async" crossorigin="anonymous" integrity="sha256-/QJ7WXIrEeu9ggxXjuSABuuFllsa20zf/rN3fESzYag=" src="https://assets-cdn.github.com/assets/github-fd027b59722b11ebbd820c578ee48006eb85965b1adb4cdffeb3777c44b361a8.js"></script>