Civil Rights
Movements, leaders, victories and the continuing fight for equality.
Explore the people, places, events, achievements, struggles and stories that shaped our journey.
Movements, leaders, victories and the continuing fight for equality.
Innovation, patents, science, technology and world-changing contributions.
Pioneers, champions, Negro Leagues, records, activism and excellence.
Meet the people whose lives, choices and achievements shaped the journey.
Black towns, communities, institutions and places where history happened.
Moments that changed communities, movements, institutions and the nation.
In 1968 Shirley Chisholm became the first Black woman elected to the United States Congress. In 1972 she launched a campaign for the Democratic presidential nomination, breaking another political barrier.
MORE →Reflects the personal views, recollections, and perspective of the author, Mike Davis.
This is a personal recollection on the Move fire on May 13, 1985
| X10 | |
|---|---|
| Paradigm | Object-oriented |
| Designed by | Kemal Ebcioğlu, Saravanan Arumugam, Vijay Saraswat, and Vivek Sarkar |
| Developer | IBM |
| First appeared | 2004 |
| Stable release | 2.6.2
/ January 8, 2019 |
| Typing discipline | Static, strong, safe, constrained |
| OS | AIX, Linux, macOS, Windows |
| License | Eclipse Public License 1.0 |
| Filename extensions | .x10 |
| Website | x10-lang |
| Influenced by | |
| C++, Java | |
X10 is a programming language being developed by IBM at the Thomas J. Watson Research Center as part of the Productive, Easy-to-use, Reliable Computing System (PERCS) project funded by DARPA's High Productivity Computing Systems (HPCS) program.
Its primary authors are Kemal Ebcioğlu, Saravanan Arumugam (Aswath), Vijay Saraswat, and Vivek Sarkar.[1]
X10 is designed specifically for parallel computing using the partitioned global address space (PGAS) model. A computation is divided among a set of places, each of which holds some data and hosts one or more activities that operate on those data. It has a constrained type system for object-oriented programming, a form of dependent types. Other features include user-defined primitive struct types; globally distributed arrays, and structured and unstructured parallelism.[2]
X10 uses the concept of parent and child relationships for activities to prevent the lock stalemate that can occur when two or more processes wait for each other to finish before they can complete. An activity may spawn one or more child activities, which may themselves have children. Children cannot wait for a parent to finish, but a parent can wait for a child using the finish command.[3]
An X10 "Hello, World!" program:
/** Example file for the X10 programming language (http://x10-lang.org).
*/
class Example {
public static def main(Rail[String]) {
Console.OUT.println("Hello, World!"); // say hello.
}
}
Source: Wikipedia. Article content is retrieved live through the MediaWiki API.
X10 is a programming language being developed by IBM at the Thomas J. Watson Research Center as part of the Productive, Easy-to-use, Reliable Computing System (PERCS) project funded by DARPA's High Productivity Computing Systems (HPCS) program.
In computer science, partitioned global address space (PGAS) is a parallel programming model paradigm. PGAS is typified by communication operations involving a global memory address space abstraction that is logically partitioned, where a portion is local to each process, thread, or processing element. The novelty of PGAS is that the portions of the shared memory space may have an affinity for a particular process, thereby exploiting locality of reference in order to improve performance. A PGAS memory model is featured in various parallel programming languages and libraries, including: Coarray Fortran, Unified Parallel C, Split-C, Fortress, Chapel, X10, UPC++, Coarray C++, Global Arrays, DASH and SHMEM. The PGAS paradigm is now an integrated part of the Fortran language, as of Fortran 2008 which standardized coarrays. The various languages and libraries offering a PGAS memory model differ widely in other details, such as the base programming language and the mechanisms used to express parallelism. Many PGAS systems combine the advantages of a SPMD programming style for distributed memory systems (as employed by MPI) with the data referencing semantics of shared memory systems. In contrast to message passing, PGAS programming models frequently offer one-sided communication operations such as Remote Memory Access (RMA), whereby one processing element may directly access memory with affinity to a different (potentially remote) process, without explicit semantic involvement by the passive target process. PGAS offers more efficiency and scalability than traditional shared-memory approaches with a flat address space, because hardware-specific data locality can be explicitly exposed in the semantic partitioning of the address space. A variant of the PGAS paradigm, asynchronous partitioned global address space (APGAS) augments the programming model with facilities for both local and remote asynchronous task creation. Two programming languages that use this model are Chapel and X10.
Fortress is a discontinued experimental programming language for high-performance computing, created by Sun Microsystems with funding from The Defense Advanced Research Projects Agency's (DARPA) High Productivity Computing Systems project. One of the language designers was Guy L. Steele Jr., whose prior work includes Scheme, Common Lisp, and Java.
Chapel (originally the Cascade High Productivity Language or CHPL) is a parallel programming language created by Cray as part of the Cray Cascade project, a participant in DARPA's High Productivity Computing Systems (HPCS) program. It was developed as an open source project, under version 2 of the Apache license. The Chapel compiler is written in C and C++ (C++14). The backend (i.e. the optimizer) is LLVM, written in C++. Python 3.7 or newer is required for some optional components such as Chapel’s test system and c2chapel, a tool to generate C bindings for Chapel. By default Chapel compiles to binary executables, but it can also compile to C code. Chapel code can be compiled to libraries to be callable from C, or Fortran or e.g. Python also supported. Chapel supports GPU programming through code generation for NVIDIA and AMD graphics processing units.
Before the 1921 destruction of Tulsa’s Greenwood District, Black residents had created a remarkable center of business and community life. The district included stores, professional offices, entertainment venues and homes owned by Black citizens. Understanding Greenwood means learning what was built—not only what was burned.
MORE →Madam C.J. Walker