Knowledge

X10 (programming language)

Source 📝

412: 992: 278:
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
730: 1072: 1062: 970: 723: 1033: 951: 585: 1057: 716: 739: 233: 1067: 454: 252: 221: 891: 682: 307: 342:
Ebcioğlu, Kemal; Saraswat, Vijay; Sarkar, Vivek. "X10: Programming for Hierarchical Parallelism and NonUniform Data Access".
302: 840: 783: 763: 466: 422: 292: 1026: 803: 753: 201: 81: 30: 487: 417: 317: 845: 606: 1019: 662: 672: 667: 447: 343: 312: 160: 263:
that operate on those data. It has a constrained type system for object-oriented programming, a form of
1052: 626: 364: 244:
Its primary authors are Kemal Ebcioğlu, Saravanan Arumugam (Aswath), Vijay Saraswat, and Vivek Sarkar.
999: 916: 677: 525: 213: 25: 348: 941: 697: 647: 631: 575: 540: 363:
Saraswat, Vijay; Bloom, Bard; Peshansky, Igor; Tardieu, Olivier; Grove, David (January 4, 2019).
322: 248: 168: 115: 47: 991: 855: 692: 440: 931: 921: 768: 155: 131: 432: 875: 808: 297: 264: 37: 411: 1003: 657: 1046: 87: 652: 535: 773: 545: 497: 279:
cannot wait for a parent to finish, but a parent can wait for a child using the
123: 119: 110: 793: 708: 687: 860: 427: 850: 835: 560: 144: 936: 926: 824: 778: 565: 530: 492: 148: 136: 956: 946: 911: 865: 580: 570: 555: 42:
Kemal Ebcioğlu, Saravanan Arumugam, Vijay Saraswat, and Vivek Sarkar
224:
as part of the Productive, Easy-to-use, Reliable Computing System (
197: 798: 550: 229: 225: 140: 381:
Biever, C. "Computer revolution poses problems for programmers".
830: 788: 758: 502: 712: 436: 601: 463: 217: 52: 1007: 405: 259:, each of which holds some data and hosts one or more 255:(PGAS) model. A computation is divided among a set of 182: 904: 884: 746: 640: 619: 594: 516: 480: 473: 191: 177: 167: 154: 130: 109: 80: 58: 46: 36: 24: 267:. Other features include user-defined primitive 275:, and structured and unstructured parallelism. 1027: 724: 448: 8: 19: 1034: 1020: 881: 731: 717: 709: 477: 455: 441: 433: 410: 365:"X10 Language Specification Version 2.6.2" 18: 347: 334: 7: 988: 986: 467:free and open-source software (FOSS) 234:High Productivity Computing Systems 14: 247:X10 is designed specifically for 1073:Programming language topic stubs 1063:Concurrent programming languages 990: 253:partitioned global address space 222:Thomas J. Watson Research Center 683:Open Source Security Foundation 1: 1006:. You can help Knowledge by 271:types; globally distributed 1058:Array programming languages 754:Advanced Simulation Library 740:Numerical-analysis software 64:; 20 years ago 16:Programming language by IBM 1089: 985: 418:Overview of PGAS languages 318:Parallel programming model 1068:JVM programming languages 965: 423:Vivek Sarkar's X10 slides 196: 105: 76: 607:Red Hat Enterprise Linux 663:Linux Technology Center 1002:-related article is a 673:Open Mainframe Project 668:Open Invention Network 313:Non-blocking algorithm 161:Eclipse Public License 90:/ January 8, 2019 627:Common Public License 481:Programming languages 92:; 5 years ago 1000:programming-language 917:FEATool Multiphysics 678:OpenPOWER Foundation 526:Carbon Design System 228:) project funded by 214:programming language 428:GPLed X10 prototype 216:being developed by 169:Filename extensions 59:First appeared 21: 698:The Fedora Project 648:Eclipse Foundation 632:IBM Public License 323:Unified Parallel C 249:parallel computing 1015: 1014: 980: 979: 900: 899: 706: 705: 615: 614: 595:Operating systems 519:development tools 207: 206: 111:Typing discipline 1080: 1036: 1029: 1022: 994: 987: 882: 733: 726: 719: 710: 478: 457: 450: 443: 434: 414: 409: 408: 406:Official website 391: 390: 378: 372: 371: 369: 360: 354: 353: 351: 339: 236:(HPCS) program. 187: 184: 100: 98: 93: 72: 70: 65: 38:Designed by 22: 1088: 1087: 1083: 1082: 1081: 1079: 1078: 1077: 1043: 1042: 1041: 1040: 983: 981: 976: 961: 896: 880: 742: 737: 707: 702: 636: 611: 590: 518: 512: 469: 461: 404: 403: 400: 395: 394: 380: 379: 375: 367: 362: 361: 357: 349:10.1.1.135.9826 341: 340: 336: 331: 298:Coarray Fortran 289: 265:dependent types 242: 181: 101: 96: 94: 91: 68: 66: 63: 31:Object-oriented 17: 12: 11: 5: 1086: 1084: 1076: 1075: 1070: 1065: 1060: 1055: 1045: 1044: 1039: 1038: 1031: 1024: 1016: 1013: 1012: 995: 978: 977: 975: 974: 966: 963: 962: 960: 959: 954: 949: 944: 939: 934: 929: 924: 919: 914: 908: 906: 902: 901: 898: 897: 895: 894: 888: 886: 879: 878: 873: 868: 863: 858: 853: 848: 843: 838: 833: 828: 806: 801: 796: 791: 786: 781: 776: 771: 766: 761: 756: 750: 748: 744: 743: 738: 736: 735: 728: 721: 713: 704: 703: 701: 700: 695: 690: 685: 680: 675: 670: 665: 660: 658:Linux on IBM Z 655: 650: 644: 642: 638: 637: 635: 634: 629: 623: 621: 617: 616: 613: 612: 610: 609: 604: 598: 596: 592: 591: 589: 588: 583: 578: 573: 568: 563: 558: 553: 548: 543: 538: 533: 528: 522: 520: 517:Frameworks and 514: 513: 511: 510: 505: 500: 495: 490: 484: 482: 475: 471: 470: 462: 460: 459: 452: 445: 437: 431: 430: 425: 420: 415: 399: 398:External links 396: 393: 392: 373: 355: 333: 332: 330: 327: 326: 325: 320: 315: 310: 305: 300: 295: 288: 285: 241: 238: 205: 204: 194: 193: 189: 188: 179: 175: 174: 171: 165: 164: 158: 152: 151: 134: 128: 127: 113: 107: 106: 103: 102: 86: 84: 82:Stable release 78: 77: 74: 73: 60: 56: 55: 50: 44: 43: 40: 34: 33: 28: 15: 13: 10: 9: 6: 4: 3: 2: 1085: 1074: 1071: 1069: 1066: 1064: 1061: 1059: 1056: 1054: 1051: 1050: 1048: 1037: 1032: 1030: 1025: 1023: 1018: 1017: 1011: 1009: 1005: 1001: 996: 993: 989: 984: 973: 972: 968: 967: 964: 958: 955: 953: 950: 948: 945: 943: 940: 938: 935: 933: 930: 928: 925: 923: 920: 918: 915: 913: 910: 909: 907: 903: 893: 890: 889: 887: 883: 877: 874: 872: 869: 867: 864: 862: 859: 857: 854: 852: 849: 847: 844: 842: 839: 837: 834: 832: 829: 826: 822: 818: 814: 810: 807: 805: 802: 800: 797: 795: 792: 790: 787: 785: 782: 780: 777: 775: 772: 770: 767: 765: 762: 760: 757: 755: 752: 751: 749: 745: 741: 734: 729: 727: 722: 720: 715: 714: 711: 699: 696: 694: 691: 689: 686: 684: 681: 679: 676: 674: 671: 669: 666: 664: 661: 659: 656: 654: 651: 649: 646: 645: 643: 639: 633: 630: 628: 625: 624: 622: 618: 608: 605: 603: 600: 599: 597: 593: 587: 584: 582: 579: 577: 574: 572: 569: 567: 564: 562: 559: 557: 554: 552: 549: 547: 544: 542: 539: 537: 534: 532: 529: 527: 524: 523: 521: 515: 509: 506: 504: 501: 499: 496: 494: 491: 489: 486: 485: 483: 479: 476: 472: 468: 465: 458: 453: 451: 446: 444: 439: 438: 435: 429: 426: 424: 421: 419: 416: 413: 407: 402: 401: 397: 388: 384: 383:New Scientist 377: 374: 366: 359: 356: 350: 345: 338: 335: 328: 324: 321: 319: 316: 314: 311: 309: 306: 304: 301: 299: 296: 294: 291: 290: 286: 284: 282: 276: 274: 270: 266: 262: 258: 254: 250: 245: 239: 237: 235: 231: 227: 223: 219: 215: 211: 203: 199: 195: 192:Influenced by 190: 186: 180: 176: 172: 170: 166: 162: 159: 157: 153: 150: 146: 142: 138: 135: 133: 129: 126:, constrained 125: 121: 117: 114: 112: 108: 104: 89: 85: 83: 79: 75: 61: 57: 54: 51: 49: 45: 41: 39: 35: 32: 29: 27: 23: 1053:IBM software 1008:expanding it 997: 982: 969: 885:Discontinued 870: 820: 816: 812: 653:Fedora Linux 507: 386: 382: 376: 358: 337: 280: 277: 272: 268: 260: 256: 246: 243: 209: 208: 942:Mathematica 905:Proprietary 546:Eclipse Che 498:Object REXX 303:Concurrency 1047:Categories 971:Comparison 794:GNU Octave 688:PowerLinux 329:References 261:activities 251:using the 97:2019-01-08 952:Speakeasy 861:ScicosLab 774:FreeFem++ 344:CiteSeerX 283:command. 48:Developer 892:Fortress 851:SageMath 836:OpenFOAM 620:Licenses 561:Node-RED 474:Software 308:Fortress 287:See also 183:x10-lang 145:Mac OS X 26:Paradigm 937:Mathcad 927:LabVIEW 825:IPython 809:Jupyter 779:FreeMat 641:Related 576:Postfix 566:OpenAFS 541:Eclipse 531:CGIDEV2 493:NetRexx 389:(2594). 240:History 220:at the 178:Website 156:License 149:Windows 137:IBM AIX 95: ( 67: ( 957:VisSim 947:MATLAB 912:DADiSP 866:Scilab 856:Salome 841:Python 784:Genius 764:Chapel 581:Qiskit 571:OpenJ9 556:Kitura 346:  293:Chapel 281:finish 273:arrays 269:struct 257:places 120:strong 116:Static 998:This 932:Maple 922:GAUSS 819:hon, 815:lia, 804:Julia 799:gretl 769:Euler 693:SHARE 551:HElib 536:Derby 368:(PDF) 230:DARPA 226:PERCS 212:is a 141:Linux 88:2.6.2 1004:stub 876:Weka 831:MFEM 789:Gmsh 759:ADMB 747:Free 586:STAF 503:Rexx 202:Java 185:.org 173:.x10 124:safe 69:2004 62:2004 871:X10 817:Pyt 602:K42 508:X10 488:EGL 464:IBM 387:193 232:'s 218:IBM 210:X10 198:C++ 163:1.0 53:IBM 20:X10 1049:: 823:; 813:Ju 385:. 200:, 147:, 143:, 139:, 132:OS 122:, 118:, 1035:e 1028:t 1021:v 1010:. 846:R 827:) 821:R 811:( 732:e 725:t 718:v 456:e 449:t 442:v 370:. 352:. 99:) 71:)

Index

Paradigm
Object-oriented
Designed by
Developer
IBM
Stable release
2.6.2
Typing discipline
Static
strong
safe
OS
IBM AIX
Linux
Mac OS X
Windows
License
Eclipse Public License
Filename extensions
x10-lang.org
C++
Java
programming language
IBM
Thomas J. Watson Research Center
PERCS
DARPA
High Productivity Computing Systems
parallel computing
partitioned global address space

Text is available under the Creative Commons Attribution-ShareAlike License. Additional terms may apply.