X10 (programming language)

From Wikipedia, the free encyclopedia
Revision as of 16:32, 22 December 2024 by imported>Upon the rein of a wimpling wing (Hello, World!: language)
(diff) ← Previous revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigation Jump to search

Template:Short description Script error: No such module "Infobox".Template:Template otherScript error: No such module "Check for unknown parameters". 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.

History

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]

Example code

Hello, World!

Template:Sxhl[4]

See also

References

Template:Reflist

External links

Template:IBM FOSS Template:Numerical analysis software


Template:Prog-lang-stub

  1. Template:Cite CiteSeerX
  2. Script error: No such module "citation/CS1".
  3. Script error: No such module "Citation/CS1".
  4. Template:Github