Misplaced Pages

Message Passing Interface

Article snapshot taken from Wikipedia with creative commons attribution-sharealike license. Give it a read and then ask your questions in the chat. We can research this topic together.

The Message Passing Interface ( MPI ) is a standardized and portable message-passing standard designed to function on parallel computing architectures . The MPI standard defines the syntax and semantics of library routines that are useful to a wide range of users writing portable message-passing programs in C , C++ , and Fortran . There are several open-source MPI implementations , which fostered the development of a parallel software industry , and encouraged development of portable and scalable large-scale parallel applications.

#57942

107-552: The message passing interface effort began in the summer of 1991 when a small group of researchers started discussions at a mountain retreat in Austria. Out of that discussion came a Workshop on Standards for Message Passing in a Distributed Memory Environment, held on April 29–30, 1992 in Williamsburg, Virginia . Attendees at Williamsburg discussed the basic features essential to a standard message-passing interface and established

214-531: A multiprocessor computer system . Shared memory systems may use: A shared memory system is relatively easy to program since all processors share a single view of data and the communication between processors can be as fast as memory accesses to the same location. The issue with shared memory systems is that many CPUs need fast access to memory and will likely cache memory , which has two complications: Technologies like crossbar switches , Omega networks , HyperTransport or front-side bus can be used to dampen

321-434: A parallel program running on a distributed memory system. Actual distributed memory supercomputers such as computer clusters often run such programs. The principal MPI-1 model has no shared memory concept, and MPI-2 has only a limited distributed shared memory concept. Nonetheless, MPI programs are regularly run on shared memory computers, and both MPICH and Open MPI can use shared memory for message transfer if it

428-562: A 15-man Court Of Directors to oversee the hospital's operations and admissions. In 1771, contractor Benjamin Powell constructed a two-story building on Francis Street near the college, capable of housing 24 patients. The design included "yards for patients to walk and take the Air in" as well as provisions for a fence to keep the patients out of the town. The Gunpowder Incident began in April 1775 as

535-640: A 301-acre (1.22 km ) Historic Area celebrating the patriots and early history of the colonial-era. As of 2022 , Colonial Williamsburg is Virginia's largest tourist attraction by attendance and the cornerstone of the Historic Triangle , with Jamestown and Yorktown joined by the Colonial Parkway . In the 21st century, Williamsburg has continued to update and refine its attractions. There are more features designed to attract modern children and to offer better and additional interpretation of

642-422: A Norwegian-American who had earlier farmed in the midwestern states, realized that eastern Virginia's gentler climate and depressed post-Civil War land prices would be attractive to his fellow Scandinavians who were farming in other northern parts of the country. He began sending out notices and selling land. Soon there was a substantial concentration of relocated Americans of Norwegian, Swedish, and Danish descent in

749-538: A church, and a magazine for the storage of arms. In 1722, Williamsburg was granted a royal charter as a "city incorporate", which is now believed to be the oldest charter in the United States. Middle Plantation was included in James City Shire when it was established in 1634, as the colony reached a total population of approximately 5,000. (James City and Virginia's other shires changed their names

856-476: A dispute between Dunmore and Virginia colonists over gunpowder stored in the Williamsburg magazine. Fearing rebellion, Dunmore ordered royal marines to seize gunpowder from the magazine. Virginia militia led by Patrick Henry responded to the "theft" and marched on Williamsburg. A standoff ensued, with Dunmore threatening to destroy the city if attacked by the militia. The dispute was resolved when payment for

963-654: A dramatic demographic shift in the city, reporting that Williamsburg was 48% White and 37% Black. Census data shows almost all of the Black population growth occurring in Census blocks containing William and Mary dorms, but data from the State Council of Higher Education for Virginia shows no growth in the number of Black students in William and Mary dorms during the 2010s. University of Virginia researchers believe that

1070-449: A drawback in that if the process crashes and fails to clean up shared memory it will stay until system shutdown; that limitation is not present in an Android-specific implementation dubbed ashmem . POSIX also provides the mmap API for mapping files into memory; a mapping can be shared, allowing the file's contents to be used as shared memory. Linux distributions based on the 2.6 kernel and later offer /dev/shm as shared memory in

1177-406: A few years later; James City Shire then became known as James City County ). The middle ground ridge-line was essentially the dividing line with Charles River Shire , which was renamed York County after King Charles I ( r.  1625–1649 ) fell out of favor with the citizens of England. As Middle Plantation (and later Williamsburg) developed, the boundaries were adjusted slightly. For most of

SECTION 10

#1732786983058

1284-465: A general index was added. All valid MPI-3.0 programs are also valid in MPI-3.1. MPI-4.0 is a major update that introduces large-count versions of many routines, persistent collective operations, partitioned communications, and a new MPI initialization method. It also adds application info assertions and improves error handling definitions, along with various smaller enhancements. Any valid MPI-3.1 program

1391-487: A library from one family works as a drop-in replacement of one from the same family, but direct replacement across families is impossible. The French CEA maintains a wrapper interface to facilitate such switches. MPI hardware research focuses on implementing MPI directly in hardware, for example via processor-in-memory , building MPI operations into the microcircuitry of the RAM chips in each node. By implication, this approach

1498-450: A message-passing application programmer interface, together with protocol and semantic specifications for how its features must behave in any implementation." MPI's goals are high performance, scalability, and portability. MPI remains the dominant model used in high-performance computing today. MPI is not sanctioned by any major standards body; nevertheless, it has become a de facto standard for communication among processes that model

1605-609: A month, the defenders withdrew quietly from the Warwick Line (stretching across the Peninsula between Yorktown and Mulberry Island ). As General George McClellan 's Union forces crept up the Peninsula to pursue the retreating Confederate forces, a rear-guard force led by General James Longstreet and supported by General J. E. B. Stuart 's cavalry blocked their westward progression at the Williamsburg Line. This

1712-649: A multi-core machine) will be assigned just a single process. This assignment happens at runtime through the agent that starts the MPI program, normally called mpirun or mpiexec. MPI library functions include, but are not limited to, point-to-point rendezvous-type send/receive operations, choosing between a Cartesian or graph -like logical process topology, exchanging data between process pairs (send/receive operations), combining partial results of computations (gather and reduce operations), synchronizing nodes (barrier operation) as well as obtaining network-related information such as

1819-667: A new major purpose, turning much of it into a massive living museum . In the early 20th century, the Reverend Dr. W. A. R. Goodwin of Williamsburg's Bruton Parish Church championed one of the nation's largest historic restorations. Initially, Goodwin just aimed to save his historic church building. This he had accomplished by 1907, in time for the 300th anniversary of the founding of the Episcopal Church in Virginia. But upon returning to Williamsburg in 1923 after serving

1926-436: A number of instances of the named MPI process. The newly spawned set of MPI processes form a new MPI_COMM_WORLD intracommunicator but can communicate with the parent and the intercommunicator the function returns. MPI_Comm_spawn_multiple is an alternate interface that allows the different instances spawned to be different binaries with different arguments. The parallel I/O feature is sometimes called MPI-IO, and refers to

2033-618: A number of years in upstate New York, he realized that many of the other remaining colonial-era buildings were also in deteriorating condition. Goodwin dreamed of a much larger restoration along the lines of what he had accomplished with his church. Of modest means, he sought support and financing from a number of sources before successfully attracting the interest and major financial support of Standard Oil heir and philanthropist John D. Rockefeller Jr. and his wife Abby Aldrich Rockefeller . Their combined efforts created Colonial Williamsburg , restoring much of downtown Williamsburg and developing

2140-496: A period of record dating only back to 1951, extreme temperatures range from −7 °F (−22 °C) on January 21, 1985 , to 104 °F (40 °C) on August 22, 1983, and June 26, 1952. During the Revolutionary era , African Americans made up over 50% of Williamsburg's population. Williamsburg was 78% White and 13% Black at the 2000 census, and 71% White and 14% Black at the 2010 census. The 2020 census indicated

2247-545: A process group (which can mean the entire process pool or a program-defined subset). A typical function is the MPI_Bcast call (short for " broadcast "). This function takes data from one node and sends it to all processes in the process group. A reverse operation is the MPI_Reduce call, which takes data from all processes in a group, performs an operation (such as summing), and stores the results on one node. MPI_Reduce

SECTION 20

#1732786983058

2354-493: A read from remote memory, and a reduction operation on the same memory across a number of tasks, respectively. Also defined are three different methods to synchronize this communication (global, pairwise, and remote locks) as the specification does not guarantee that these operations have taken place until a synchronization point. These types of call can often be useful for algorithms in which synchronization would be inconvenient (e.g. distributed matrix multiplication ), or where it

2461-527: A region of a file into memory in multiple processes. Some C++ libraries provide a portable and object-oriented access to shared memory functionality. For example, Boost contains the Boost.Interprocess C++ Library and Qt provides the QSharedMemory class. For programming languages with POSIX bindings (say, C/C++), shared memory regions can be created and accessed by calling the functions provided by

2568-561: A separate category. Hispanics/Latinos can be of any race. As of the 2010 census, there were 14,068 people, 3,619 households, and 1,787 families residing in the city. The population density was 1,404.1 people per square mile (542.1 people/km ). There were 3,880 housing units at an average density of 454.1 per square mile (175.3/km ). The racial makeup of the city was 74.0% White , 14.0% Black or African American , 0.3% Native American , 5.7% Asian , 0.0% Pacific Islander , 2.5% from other races , and 3.5% from two or more races . 6.7% of

2675-413: A set of functions designed to abstract I/O management on distributed systems to MPI, and allow files to be easily accessed in a patterned way using the existing derived datatype functionality. The little research that has been done on this feature indicates that it may not be trivial to get high performance gains by using MPI-IO. For example, an implementation of sparse matrix-vector multiplications using

2782-508: A significant percentage of their annual income from investments, either in addition to or in lieu of income from work. This is because many retirees relocate to Williamsburg and typically draw income from investments such as 401(k) plans and the like. Shared memory (interprocess communication) In computer science , shared memory is memory that may be simultaneously accessed by multiple programs with an intent to provide communication among them or avoid redundant copies. Shared memory

2889-400: A similar set of issues. In computer software, shared memory is either Since both processes can access the shared memory area like regular working memory, this is a very fast way of communication (as opposed to other mechanisms of IPC such as named pipes , Unix domain sockets or CORBA ). On the other hand, it is less scalable, as for example the communicating processes must be running on

2996-614: A site at the Williamsburg Regional Library's Croaker Branch. Other landmarks outside the historic area include Carter's Grove and Gunston Hall . In 1932, a Catholic church was built to minister to students at the College of William & Mary . Old Saint Bede was made a national shrine , dedicated to Our Lady of Walsingham . On October 22, 1976, the third of three debates between Republican President Gerald Ford and Democratic challenger Jimmy Carter in

3103-590: A time as quarters for the commanding officer of the Union garrison occupying the town. On September 9, drunken soldiers of the 5th Pennsylvania Cavalry set fire to the College Building, allegedly to prevent Confederate snipers from using it for cover. Williamsburg underwent much damage during the Union occupation, which lasted until September 1865. In 1881, Collis P. Huntington 's Chesapeake and Ohio Railway (C&O) built its Peninsula Extension through

3210-546: A working group to continue the standardization process. Jack Dongarra , Tony Hey , and David W. Walker put forward a preliminary draft proposal, "MPI1", in November 1992. In November 1992 a meeting of the MPI working group took place in Minneapolis and decided to place the standardization process on a more formal footing. The MPI working group met every 6 weeks throughout the first 9 months of 1993. The draft MPI standard

3317-413: Is MPI_Send , which allows one specified process to send a message to a second specified process. Point-to-point operations, as these are called, are particularly useful in patterned or irregular communication, for example, a data-parallel architecture in which each processor routinely swaps regions of data with specific other processors between calculation steps, or a master–slave architecture in which

Message Passing Interface - Misplaced Pages Continue

3424-454: Is a popular distributed environment and message passing system developed in 1989, and which was one of the systems that motivated the need for standard parallel message passing. Threaded shared memory programming models (such as Pthreads and OpenMP ) and message passing programming (MPI/PVM) can be considered complementary and have been used together on occasion in, for example, servers with multiple large shared-memory nodes. The MPI interface

3531-424: Is a program that wraps over an existing compiler to set the necessary command-line flags when compiling code that uses MPI. Typically, it adds a few flags that enable the code to be the compiled and linked against the MPI library. Bindings are libraries that extend MPI support to other languages by wrapping an existing MPI implementation such as MPICH or Open MPI. Williamsburg, Virginia Williamsburg

3638-686: Is also a college town , inhabited in large part by William & Mary students, faculty and staff. Before English settlers arrived at Jamestown to establish the Colony of Virginia in 1607, the area that would become Williamsburg formed part of the territory of the Powhatan Confederacy . By the 1630s, English settlements had grown to dominate the lower (eastern) portion of the Virginia Peninsula , and Powhatan tribes had abandoned their nearby villages. Between 1630 and 1633, after

3745-553: Is an independent city in Virginia , United States. As of the 2020 census , it had a population of 15,425. Located on the Virginia Peninsula , Williamsburg is in the northern part of the Hampton Roads metropolitan area. It is bordered by James City County on the west and south and York County on the east. English settlers founded Williamsburg in 1632 as Middle Plantation , a fortified settlement on high ground between

3852-470: Is an efficient means of passing data between programs. Depending on context, programs may run on a single processor or on multiple separate processors. Using memory for communication inside a single program, e.g. among its multiple threads , is also referred to as shared memory. In computer hardware, shared memory refers to a (typically large) block of random access memory (RAM) that can be accessed by several different central processing units (CPUs) in

3959-502: Is available. Designing programs around the MPI model (contrary to explicit shared memory models) has advantages when running on NUMA architectures since MPI encourages memory locality . Explicit shared memory programming was introduced in MPI-3. Although MPI belongs in layers 5 and higher of the OSI Reference Model , implementations may cover most layers, with sockets and Transmission Control Protocol (TCP) used in

4066-532: Is compatible with MPI-4.0. MPI-4.1 is a minor update focused on corrections and clarifications to the MPI-4.0 standard. It deprecates several routines, the MPI_HOST attribute key, and the mpif.h Fortran include file. A new routine has been added to inquire about the hardware running the MPI program. Any valid MPI-4.0 program remains valid in MPI-4.1. MPI is often compared with Parallel Virtual Machine (PVM), which

4173-558: Is desirable for tasks to be able to balance their load while other processors are operating on data. The key aspect is "the ability of an MPI process to participate in the creation of new MPI processes or to establish communication with MPI processes that have been started separately." The MPI-2 specification describes three main interfaces by which MPI processes can dynamically establish communications, MPI_Comm_spawn , MPI_Comm_accept / MPI_Comm_connect and MPI_Comm_join . The MPI_Comm_spawn interface allows an MPI process to spawn

4280-548: Is equivalent to having each process (including the root itself) call MPI_Send and the root make the corresponding number of ordered MPI_Recv calls to assemble all of these arrays into a larger one: However, you may instead wish to send data as one block as opposed to 100 int s. To do this define a "contiguous block" derived data type: For passing a class or a data structure, MPI_Type_create_struct creates an MPI derived data type from MPI_predefined data types, as follows: where: The disp (displacements) array

4387-508: Is in principle optimized for the hardware on which it runs). MPI uses Language Independent Specifications (LIS) for calls and language bindings. The first MPI standard specified ANSI C and Fortran-77 bindings together with the LIS. The draft was presented at Supercomputing 1994 (November 1994) and finalized soon thereafter. About 128 functions constitute the MPI-1.3 standard which was released as

Message Passing Interface - Misplaced Pages Continue

4494-479: Is in the humid subtropical climate zone, with cool to mild winters, and hot, humid summers. Due to the inland location, winters are slightly cooler and spring days slightly warmer than in Norfolk, though lows average 3.2 °F (1.8 °C) cooler here due to the substantial urban buildup to the southeast. Snowfall averages 4.3 inches (11 cm) per season, and the summer months tend to be slightly wetter. With

4601-423: Is independent of language, operating system, and CPU, but cannot be readily updated or removed. Another approach has been to add hardware acceleration to one or more parts of the operation, including hardware processing of MPI queues and using RDMA to directly transfer data between memory and the network interface controller without CPU or OS kernel intervention. mpicc (and similarly mpic++ , mpif90 , etc.)

4708-459: Is land and 0.2 square miles (0.5 km ) (1.8%) is water. Williamsburg stands upon a ridge on the Virginia Peninsula between the James and York Rivers. Queen's Creek and College Creek partly encircle the city. James City County is to the west and south and York County to the north and east. As with all cities in Virginia, Williamsburg is legally independent of both counties. The city

4815-462: Is meant to provide essential virtual topology, synchronization , and communication functionality between a set of processes (that have been mapped to nodes/servers/computer instances) in a language-independent way, with language-specific syntax (bindings), plus a few language-specific features. MPI programs always work with processes, but programmers commonly refer to the processes as processors. Typically, for maximum performance, each CPU (or core in

4922-418: Is needed for data structure alignment , since the compiler may pad the variables in a class or data structure. The safest way to find the distance between different fields is by obtaining their addresses in memory. This is done with MPI_Get_address , which is normally the same as C's & operator but that might not be true when dealing with memory segmentation . Passing a data structure as one block

5029-405: Is often useful at the start or end of a large distributed calculation, where each processor operates on a part of the data and then combines it into a result. Other operations perform more sophisticated tasks, such as MPI_Alltoall which rearranges n items of data such that the n th node gets the n th item of data from each. Many MPI functions require that you specify the type of data which

5136-626: Is on the I-64 corridor, 45 miles (72 km) southeast of Richmond and about 37 miles (60 km) northwest of Norfolk . It is in the northwest corner of Hampton Roads , the nation's 37th-largest metropolitan area, with a population of 1,576,370. Within Hampton Roads, Norfolk is recognized as the central business district, while the Virginia Beach seaside resort district and Williamsburg are primarily tourism centers. Williamsburg

5243-414: Is sent between processes. This is because MPI aims to support heterogeneous environments where types might be represented differently on the different nodes (for example they might be running different CPU architectures that have different endianness ), in which case MPI implementations can perform data conversion . Since the C language does not allow a type itself to be passed as a parameter, MPI predefines

5350-424: Is significantly faster than passing one item at a time, especially if the operation is to be repeated. This is because fixed-size blocks do not require serialization during transfer. Given the following data structures: Here's the C code for building an MPI-derived data type: MPI-2 defines three one-sided communications operations, MPI_Put , MPI_Get , and MPI_Accumulate , being a write to remote memory,

5457-577: The Richmond Times-Dispatch published an editorial that dubbed Williamsburg " Lotusburg ," for "Tuesday was election day in Williamsburg but nobody remembered it. The clerk forgot to wake the electoral board, the electoral board could not arouse itself long enough to have the ballots printed, the candidates forgot they were running, the voters forgot they were alive." But even if such complacency existed, one Episcopal priest dreamed of expanding and changing Williamsburg's future to give it

SECTION 50

#1732786983058

5564-561: The 1976 presidential election was held at Phi Beta Kappa Memorial Hall at the College of William & Mary , during which both candidates, perhaps in tribute to the historic venue and the United States Bicentennial celebration, spoke of a "new spirit" in America. The 9th G7 summit took place in Williamsburg in 1983. The participants discussed the growing debt-crisis, arms control and greater cooperation between

5671-556: The Battle of Williamsburg on May 5, 1862, the defenders succeeded in delaying the Union forces long enough for the retreating Confederates to reach the outer defenses of Richmond. A siege of Richmond ensued, culminating in the Seven Days Battles (June to July 1862). McClellan's campaign failed to capture Richmond. Meanwhile, on May 6, 1862, Williamsburg had fallen to the Union. The college's Brafferton building operated for

5778-485: The James and York rivers, and farther inland than their headquarters at Jamestown . The city functioned as the capital of the Colony and Commonwealth of Virginia from 1699 to 1780 and became the center of political events in Virginia leading to the American Revolution . The College of William & Mary , established in 1693, is the second-oldest institution of higher education in the United States and

5885-503: The locking and disk seek overhead. Due to its vast performance benefits, MPI-IO also became the underlying I/O layer for many state-of-the-art I/O libraries, such as HDF5 and Parallel NetCDF . Its popularity also triggered research on collective I/O optimizations, such as layout-aware I/O and cross-file aggregation. Many other efforts are derivatives of MPICH, LAM, and other works, including, but not limited to, commercial implementations from HPE , Intel , Microsoft , and NEC . While

5992-530: The College of William and Mary, although teaching was temporarily suspended for financial reasons from 1882 to 1888. Ewell's efforts to restore the school and its programs during and after Reconstruction became legendary in Williamsburg and at the college, and were ultimately successful, with funding both from the U.S. Congress and from the Commonwealth of Virginia. In 1888, the college secured $ 10,000 from

6099-477: The General Assembly of the Commonwealth and established a normal school to educate teachers; in 1906, the General Assembly modified the college charter, took ownership of the college buildings and grounds, and assumed primary responsibility for funding it. Ewell remained in Williamsburg as President Emeritus of the college until his death in 1894. Beginning in the 1890s, C&O land agent Carl M. Bergh,

6206-506: The IStream object returned by CoMarshalInterThreadInterfaceInStream in the COM libraries under Windows . Dynamic libraries are generally held in memory once and mapped to multiple processes, and only pages that had to be customized for the individual process (because a symbol resolved differently there) are duplicated, usually with a mechanism known as copy-on-write that transparently copies

6313-480: The MPI I/O library shows a general behavior of minor performance gain, but these results are inconclusive. It was not until the idea of collective I/O implemented into MPI-IO that MPI-IO started to reach widespread adoption. Collective I/O substantially boosts applications' I/O bandwidth by having processes collectively transform the small and noncontiguous I/O operations into large and contiguous ones, thereby reducing

6420-956: The MPI session. Each communicator gives each contained process an independent identifier and arranges its contained processes in an ordered topology . MPI also has explicit groups, but these are mainly good for organizing and reorganizing groups of processes before another communicator is made. MPI understands single group intracommunicator operations, and bilateral intercommunicator communication. In MPI-1, single group operations are most prevalent. Bilateral operations mostly appear in MPI-2 where they include collective communication and dynamic in-process management. Communicators can be partitioned using several MPI commands. These commands include MPI_COMM_SPLIT , where each process joins one of several colored sub-communicators by declaring itself to have that color. A number of important MPI functions involve communication between two specific processes. A popular example

6527-684: The MPI-2 standard. MPI-3.0 introduces significant updates to the MPI standard, including nonblocking versions of collective operations, enhancements to one-sided operations, and a Fortran 2008 binding. It removes deprecated C++ bindings and various obsolete routines and objects. Importantly, any valid MPI-2.2 program that avoids the removed elements is also valid in MPI-3.0. MPI-3.1 is a minor update focused on corrections and clarifications, particularly for Fortran bindings. It introduces new functions for manipulating MPI_Aint values, nonblocking collective I/O routines, and methods for retrieving index values by name for MPI_T performance variables. Additionally,

SECTION 60

#1732786983058

6634-489: The POSIX:XSI Extension) includes the shared-memory functions shmat , shmctl , shmdt and shmget . Unix System V provides an API for shared memory as well. This uses shmget from sys/shm.h. BSD systems provide "anonymous mapped memory" which can be used by several processes. The shared memory created by shm_open is persistent. It stays in the system until explicitly removed by a process. This has

6741-774: The Soviet Union and the G7 (subsequently the G8). At the end of the meeting, Secretary of State George P. Shultz read to the press a statement confirming the deployment of American Pershing II-nuclear missiles in West Germany later in 1983. On May 3, 2007, Britain's Queen Elizabeth II visited Jamestown and Williamsburg. She had previously visited Williamsburg in 1957. Many world leaders, including President George W. Bush , visited Jamestown to mark its 400th anniversary. The celebration began in part in 2005 with events leading up to

6848-568: The U.S. National Science Foundation (NSF) under grant ASC-9310330, NSF Science and Technology Center Cooperative agreement number CCR-8809615, and from the European Commission through Esprit Project P6643. The University of Tennessee also made financial contributions to the MPI Forum. MPI is a communication protocol for programming parallel computers . Both point-to-point and collective communication are supported. MPI "is

6955-459: The United States and Europe. Most of the major vendors of concurrent computers were involved in the MPI effort, collaborating with researchers from universities, government laboratories, and industry . MPI provides parallel hardware vendors with a clearly defined base set of routines that can be efficiently implemented. As a result, hardware vendors can build upon this collection of standard low-level routines to create higher-level routines for

7062-574: The United States, the Public Hospital for Persons of Insane and Disordered Minds, was founded in the city. Known in modern times as Eastern State Hospital , it was established by Act of the Virginia colonial legislature on June 4, 1770. The Act to "Make Provision for the Support and Maintenance of Ideots, Lunaticks, and other Persons of unsound Minds" authorized the House of Burgesses to appoint

7169-551: The anniversary, and was celebrated statewide throughout 2007, though the official festivities took place during the first week of May. On February 5, 2009, President Barack Obama took his first trip aboard Air Force One to a House Democrats retreat in the city to attend and address their "Issues Conference". According to the United States Census Bureau , the city has an area of 9.1 square miles (23.6 km ), of which 8.9 square miles (23.1 km )

7276-576: The area, eventually establishing six stations in Williamsburg and the surrounding area. The Peninsula Extension was good news for the farmers and merchants of the Virginia Peninsula, and they generally welcomed the railroad, which aided passenger travel and shipping. Williamsburg allowed tracks to be placed down Duke of Gloucester Street and even directly through the ruins of the capitol building. (They were later relocated, and Collis Huntington's real-estate arm, Old Dominion Land Company , donated

7383-469: The area. The location earlier known as Vaiden's Siding on the railroad just west of Williamsburg in James City County was renamed Norge . These citizens and their descendants found the local conditions favorable, and many became leading merchants, tradespersons, and farmers in the community. These transplanted Americans brought some new blood and enthusiasm to the old colonial capital area. In

7490-428: The better climate now also enjoyed use of the college's facilities. The college students made a presentation to the House of Burgesses, and it was agreed in 1699 that the colonial capital would move to Middle Plantation permanently. A village was laid out and Middle Plantation was renamed Williamsburg in honor of King William III of England , befitting the town's newly elevated status. After Williamsburg's designation as

7597-454: The black American experience in the town. A century after Goodwin's work began, Colonial Williamsburg remains a work in progress. In addition to Colonial Williamsburg, the city's railroad station was restored to become an intermodal passenger facility. In nearby James City County, the c. 1908 C&O Railway combination passenger and freight station at Norge was preserved and, with a donation from CSX Transportation , relocated in 2006 to

7704-576: The bottleneck-effects. In case of a Heterogeneous System Architecture (processor architecture that integrates different types of processors, such as CPUs and GPUs , with shared memory), the memory management unit (MMU) of the CPU and the input–output memory management unit (IOMMU) of the GPU have to share certain characteristics, like a common address space. The alternatives to shared memory are distributed memory and distributed shared memory , each having

7811-558: The business activity involved in government, the College of William and Mary continued and expanded, as did the Public Hospital for Persons of Insane and Disordered Minds. The latter became known as Eastern State Hospital . At the outset of the American Civil War (1861–1865), enlistments in the Confederate Army depleted the College of William and Mary's student body and on May 10, 1861, the faculty voted to close

7918-484: The college for the duration of the war. The College Building served as a Confederate barracks and later as a hospital before being burned by Union forces in 1862. The Williamsburg area saw combat in the spring of 1862 during the Peninsula Campaign , a Union effort to take Richmond from the east from a base at Fort Monroe . Throughout late 1861 and early 1862, the small contingent of Confederate defenders

8025-413: The colonial period, the border between the two counties ran down the center of Duke of Gloucester Street. For almost a century after the 1776 formation both of the Commonwealth of Virginia and of the United States, despite practical complications, the town remained divided between the two counties. Williamsburg was the site of the first attempted canal in the United States. In 1771, Lord Dunmore , who

8132-557: The colony's capital, immediate provision was made for construction of a capitol building and for platting the city according to Theodorick Bland 's survey. His design utilized the college's extant sites and the almost new Bruton Parish Church as focal points, and placed the new Capitol building opposite the college, with Duke of Gloucester Street connecting them. Alexander Spotswood , who arrived in Virginia as lieutenant governor in 1710, had several ravines filled and streets leveled, and assisted in erecting additional college buildings,

8239-406: The constants MPI_INT , MPI_CHAR , MPI_DOUBLE to correspond with int , char , double , etc. Here is an example in C that passes arrays of int s from all processes to one. The one receiving process is called the "root" process, and it can be any designated process but normally it will be process 0. All the processes ask to send their arrays to the root with MPI_Gather , which

8346-413: The degree of Jamestown. Another factor was travel. In the 18th and early 19th-century, transportation in the colony was largely by canals and navigable rivers . As it had been built on "high ground", Williamsburg was not sited on a major water-route, unlike many early U.S. communities. The railroads that began to be built in the 1830s also did not yet come through the city. Despite Williamsburg's loss of

8453-427: The distributed-memory communication environment supplied with their parallel machines . MPI provides a simple-to-use portable interface for the basic user, yet one powerful enough to allow programmers to use the high-performance message passing operations available on advanced machines. In an effort to create a universal standard for message passing, researchers did not base it off of a single system but it incorporated

8560-423: The early 20th century, Williamsburg remained a sleepy small town. Some newer structures were interspersed with colonial-era buildings, but the town was much less progressive than Virginia's other, busier communities of similar size. Some local lore indicates that the residents liked it that way, as described in longtime Virginia Peninsula journalist, author and historian Parke S. Rouse Jr. 's work. On June 26, 1912,

8667-428: The evening". During the war, Virginia's capital was moved again, in 1780, this time to Richmond at the urging of then- Governor Thomas Jefferson , who feared Williamsburg's location made it vulnerable to a British attack. Williamsburg remained a venue for many important conventions during the war. Williamsburg ceased to be the capital of the new Commonwealth of Virginia in 1780 and went into decline, although not to

8774-452: The final end of the MPI-1 series in 2008. At present, the standard has several versions: version 1.3 (commonly abbreviated MPI-1 ), which emphasizes message passing and has a static runtime environment, MPI-2.2 (MPI-2), which includes new features such as parallel I/O, dynamic process management and remote memory operations, and MPI-3.1 (MPI-3), which includes extensions to the collective operations with non-blocking versions and extensions to

8881-475: The form of a RAM disk , more specifically as a world-writable directory (a directory in which every user of the system can create files) that is stored in memory. Both the RedHat and Debian based distributions include it by default. Support for this type of RAM disk is completely optional within the kernel configuration file . On Windows, one can use CreateFileMapping and MapViewOfFile functions to map

8988-512: The high Black population figure was not due to an actual demographic shift but instead due to "the Bureau ’s decision to swap some census respondents’ identities with other respondents for privacy protection", a phenomenon known as differential privacy . Note: the US Census treats Hispanic/Latino as an ethnic category. This table excludes Latinos from the racial categories and assigns them to

9095-593: The high ground at Middle Plantation, pending the rebuilding of the Statehouse at Jamestown. The members of the House of Burgesses discovered that the "temporary" location was both safer and more pleasant than Jamestown, which was humid and plagued with mosquitoes. A school of higher education had long been an aspiration of the colonists. An early attempt at Henricus failed after the Indian Massacre of 1622 ;

9202-549: The interface. It is relatively easy to write multithreaded point-to-point MPI code, and some implementations support such code. Multithreaded collective communication is best accomplished with multiple copies of Communicators, as described below. MPI provides several features. The following concepts provide context for all of those abilities and help the programmer to decide what functionality to use in their application programs. Four of MPI's eight basic concepts are unique to MPI-2. Communicator objects connect groups of processes in

9309-495: The location at the outskirts of the developed part of the colony had left it vulnerable to attack. In the 1690s, the colonists again tried to establish a school. They commissioned Reverend James Blair , who spent several years in England lobbying, and finally obtained a royal charter for the desired new school. It was to be named the College of William & Mary in honor of the monarchs of the time. When Blair returned to Virginia,

9416-401: The master sends new task data to a slave whenever the prior task is completed. MPI-1 specifies mechanisms for both blocking and non-blocking point-to-point communication mechanisms, as well as the so-called 'ready-send' mechanism whereby a send request can be made only when the matching receive request has already been made. Collective functions involve communication among all processes in

9523-418: The median income for a family was $ 52,358. Males had a median income of $ 28,625 versus $ 26,840 for females. The per capita income for the city was $ 18,483. 18.3% of the population and 9.3% of families were below the poverty line . Out of the total population, 29.7% of those under the age of 18 and 5.5% of those 65 and older were living below the poverty line. A high proportion of Williamsburg residents derive

9630-510: The most useful features of several systems, including those designed by IBM, Intel , nCUBE , PVM, Express, P4 and PARMACS. The message-passing paradigm is attractive because of wide portability and can be used in communication for distributed-memory and shared-memory multiprocessors, networks of workstations, and a combination of these elements. The paradigm can apply in multiple settings, independent of network speed or memory architecture. Support for MPI meetings came in part from DARPA and from

9737-520: The new school was founded in a safe place, Middle Plantation, in 1693. Classes began in temporary quarters in 1694, and construction soon started on the College Building, a precursor to the Wren Building . Four years later, in 1698, the rebuilt Statehouse in Jamestown burned down again, this time accidentally. The government again "temporarily" relocated to Middle Plantation, and in addition to

9844-718: The number of processes in the computing session, current processor identity that a process is mapped to, neighboring processes accessible in a logical topology, and so on. Point-to-point operations come in synchronous , asynchronous , buffered, and ready forms, to allow both relatively stronger and weaker semantics for the synchronization aspects of a rendezvous-send. Many outstanding operations are possible in asynchronous mode, in most implementations. MPI-1 and MPI-2 both enable implementations that overlap communication and computation, but practice and theory differ. MPI also specifies thread safe interfaces, which have cohesion and coupling strategies that help avoid hidden state within

9951-508: The one-sided operations. MPI-2's LIS specifies over 500 functions and provides language bindings for ISO C , ISO C++ , and Fortran 90 . Object interoperability was also added to allow easier mixed-language message passing programming. A side-effect of standardizing MPI-2, completed in 1996, was clarifying the MPI-1 standard, creating the MPI-1.2. MPI-2 is mostly a superset of MPI-1, although some functions have been deprecated. MPI-1.3 programs still work under MPI implementations compliant with

10058-507: The only one of the nine colonial colleges in the South . Its alumni include three U.S. presidents as well as many other important figures in the nation's early history. The city's tourism-based economy is driven by Colonial Williamsburg , the city's restored Historic Area. Along with nearby Jamestown and Yorktown , Williamsburg forms part of the Historic Triangle , which annually attracts more than four million tourists. Modern Williamsburg

10165-465: The page when a write is attempted, and then lets the write succeed on the private copy. Compared to multiple address space operating systems, memory sharing -- especially of sharing procedures or pointer-based structures -- is simpler in single address space operating systems . POSIX provides a standardized API for using shared memory, POSIX Shared Memory . This uses the function shm_open from sys/mman.h. POSIX interprocess communication (part of

10272-433: The population were Hispanics or Latinos of any race. There were 3,619 households, out of which 16.5% had children under the age of 18 living with them, 37.2% were married couples living together, 9.6% had a female householder with no husband present, and 50.6% were non-families. 35.9% of all households were made up of individuals, and 11.4% had someone living alone who was 65 years of age or older. The average household size

10379-605: The powder was arranged. This was an important precursor in the run-up to the American Revolution . Following the Declaration of Independence from Britain, the American Revolutionary War broke out in 1776. On July 25, 1776, the Declaration of Independence was proclaimed at Williamsburg and received with "applause under discharge of cannon and firing of small arms with illuminations [fireworks] in

10486-408: The same machine (of other IPC methods, only Internet domain sockets—not Unix domain sockets—can use a computer network ), and care must be taken to avoid issues if processes sharing memory are running on separate CPUs and the underlying architecture is not cache coherent . IPC by shared memory is used for example to transfer images between the application and the X server on Unix systems, or inside

10593-564: The site to the forerunner of the Association for the Preservation of Virginia Antiquities .) The railroad's main purpose was shipping eastbound West Virginia bituminous coal to Newport News . Using the new coal piers , coal was loaded aboard large colliers in the harbor of Hampton Roads for shipment to New England and to export destinations worldwide. Due in no small part to President Ewell's efforts, education continued at

10700-507: The specifications mandate a C and Fortran interface, the language used to implement MPI is not constrained to match the language or languages it seeks to support at runtime. Most implementations combine C, C++ and assembly language, and target C, C++, and Fortran programmers. Bindings are available for many other languages, including Perl, Python, R, Ruby, Java, and CL (see #Language bindings ). The ABI of MPI implementations are roughly split between MPICH and Open MPI derivatives, so that

10807-435: The transport layer. Most MPI implementations consist of a specific set of routines directly callable from C , C++ , Fortran (i.e., an API) and any language able to interface with such libraries, including C# , Java or Python . The advantages of MPI over older message passing libraries are portability (because MPI has been implemented for almost every distributed memory architecture) and speed (because each implementation

10914-473: The war that followed the Indian Massacre of 1622 , English colonists constructed a defensive palisade across the peninsula and a settlement named Middle Plantation as a primary guard-station along the palisade. Jamestown, the original capital of Virginia Colony, burned down during the events of Bacon's Rebellion in 1676. Once Governor William Berkeley had regained control, temporary government headquarters were established about 12 miles (19 km) away on

11021-410: Was 2.07 and the average family size was 2.66. The age distribution was: 9.6% under the age of 18, 46.0% from 18 to 24, 17.7% from 25 to 44, 15.0% from 45 to 64, and 11.7% who were 65 years of age or older. The median age was 23 years. For every 100 females, there were 81.3 males. For every 100 females age 18 and over, there were 80.8 males. The median income for a household in the city was $ 37,093, and

11128-689: Was Virginia's last Royal Governor , announced plans to connect Archer's Creek , which leads to the James River , with Queen's Creek , leading to the York River . It would have formed a water route across the Virginia Peninsula , but was not completed. Remains of this canal are visible at the rear of the grounds behind the Governor's Palace in Colonial Williamsburg . In the 1770s, the first purpose-built psychiatric hospital in

11235-556: Was a series of 14 redoubts east of town, with earthen Fort Magruder (also known as Redoubt # 6) at the crucial junction of the two major roads leading to Williamsburg from the east. College of William and Mary President Benjamin S. Ewell oversaw the design and construction. He owned a farm in James City County, and had been commissioned as an officer in the Confederate Army after the college closed in 1861. At

11342-512: Was known as the Army of the Peninsula, led by General John B. Magruder . He successfully created ruses to fool the invaders as to the size and strength of his forces, and deterred their attack. The subsequent slow Union movement up the peninsula gained valuable time for defenses to be constructed at the Confederate capital at Richmond. In early May 1862, after holding off Union troops for over

11449-550: Was presented at the Supercomputing '93 conference in November 1993. After a period of public comments, which resulted in some changes in MPI, version 1.0 of MPI was released in June 1994. These meetings and the email discussion together constituted the MPI Forum, membership of which has been open to all members of the high-performance-computing community. The MPI effort involved about 80 people from 40 organizations, mainly in

#57942