From: David P G. <gr...@us...> - 2013-09-28 21:43:05
|
We're very excited to announce that X10 and X10DT 2.4.0 are now available for download at http://x10-lang.org/releases/x10-release-240 ! X10 v2.4 is a major revision of the X10 programming language that significantly improves the ability of the X10 programmer to exploit the expanded memory capabilities of modern computer systems. In particular, X10 v2.4 includes an extensive redesign of arrays and a change of the default type of unqualified integral literals (e.g. 2) from Int to Long. Taken together these two changes enable natural exploitation of large memories via 64-bit addressing and Long-based indexing of arrays and similar data structures. Hints on upgrading programs written in previous versions of X10 to X10 2.4 are available at http://x10-lang.org/porting-to-24 The release notes for X10 2.4.0 are appended below: MAJOR CHANGES X10 v2.4 is not backwards compatible with X10 v2.3. The motivation for making backwards incompatible language changes with this release of X10 is to significantly improve the ability of the X10 programmer to exploit the expanded memory capabilities of modern computer systems. In particular, X10 v2.4 includes an extensive redesign of arrays and a change of the default type of unqualified integral literals (e.g. 2) from Int to Long. Taken together these two changes enable natural exploitation of large memories via 64-bit addressing and Long-based indexing of arrays and similar data structures. Please refer to the ChangeLog section of the X10 2.4.0 language specification for a more detailed list of language and class library changes. X10 2.4.0 is also the first official release of X10 with support for IBM's BlueGene/Q system. LIMITATIONS OF THIS RELEASE The following features described in the 2.4 language manual do not currently work and may be fixed in the subsequent releases: - Non-static type definitions as class or interface members (static type defs do work) The constraint solver used by X10 typechecker is known to be incomplete for situations in which a constraint implies an infinite number of distinct constraints. Additionally, the following features described in the language manual do not currently work with Native X10. - Garbage collection on AIX - Non-final generic instance methods - Exception stack traces on Cygwin Although greatly improved from previous releases, the X10 runtime still uses a modified "busy wait" loop in the worker threads that execute asyncs. A consequence of this is that even if a Place has no asyncs to execute, one worker thread in the Place will still consume CPU cycles busy waiting for messages to arrive from the network. The generated C++ code requires g++ 4.2 or better to be compiled; we do almost all of our testing against g++ 4.4. + On AIX and Power/Linux, you may either use g++ 4.2 or better or xlC 11.1 or better. + On MacOS compiling the generated C++ code may result in either a large number of spurious warnings (Xcode 5) or may not compile at all (some prior versions of Xcode). On versions of Xcode before Xcode 5, you can use the g++ front end by setting CC=gcc and CXX=g++ in your environment. We will reduce the number of warnings generated with Xcode 5 in the next release of X10. SUMMARY OF ISSUES RESOLVED IN THIS RELEASE Below is a summary of JIRA issues addressed for the X10 2.4.0 ** Improvements and New Features * [XTENLANG-1082] - "New X10 Project" wizard should offer other source code samples than "Hello, World" * [XTENLANG-1199] - X10DT needs a "Show the type of the selection" operation. * [XTENLANG-1244] - Compiler support for regression testing * [XTENLANG-1304] - Should provide a place in project properties to specify the number of places * [XTENLANG-1306] - Content assist should add import when inserting new reference to an existing type * [XTENLANG-1548] - Browsable online tutorial for X10 2.3 (or programmer's guide? * [XTENLANG-2833] - upgrade bdwgc tarball to version 7.2d * [XTENLANG-2843] - Add @Unserializable interface * [XTENLANG-2933] - Support cross-project dependencies for remote builds in X10DT * [XTENLANG-3022] - Implement object identity map using true hashmap * [XTENLANG-3025] - Please add a way to make a Team with a PlaceGroup * [XTENLANG-3126] - Allow specification of matrix dimensions to DenseMatrixBLAS.comp[*] * [XTENLANG-3155] - Native X10 should not require Java JRE in sourcepath * [XTENLANG-3158] - Emulated bcast, reduce, allReduce using tree communications * [XTENLANG-3161] - WorkerLocalHandle: support lazy initialization and application of closure or reduction to all instances * [XTENLANG-3176] - Support MPI based X10RT with Managed X10 * [XTENLANG-3182] - Incorrect specification of ateach * [XTENLANG-3194] - Build configuration for FX10 * [XTENLANG-3198] - Implemented methods of File in c++ backend * [XTENLANG-3199] - Support generating property file in a different directory from jar file * [XTENLANG-3210] - Support idiom where abstract property methods are used to specify constraints in abstract methods * [XTENLANG-3224] - PlaceLocalHandle and DistArray collection for Managed X10 * [XTENLANG-3227] - Miscellaneous fixes to GML * [XTENLANG-3228] - Implement SUMMA matrix multiplication for transposed A matrix * [XTENLANG-3243] - GML: support copySubset from Rail to DenseMatrix * [XTENLANG-3249] - Remove variance from runtime type of managed X10 * [XTENLANG-3252] - Update language spec for change in int/long literals * [XTENLANG-3254] - Update printing of int/uint literals by X10 compiler in diagnostic methods to have n/un suffix * [XTENLANG-3263] - Redesign CustomSerialzation protocol to use X10Serializer/X10Deserializer classes * [XTENLANG-3270] - GML: add symmetric rank-K update (DSYRK) and DGEMM with offsets ** Tasks * [XTENLANG-3196] - Update to commons-math3-3.1.1.jar * [XTENLANG-3203] - Rewrite Array chapter of language spec for Rail/SimpleArray/RegionArray changes * [XTENLANG-3213] - Update Introduction to X10 to X10 2.4 ** Bugs * [XTENLANG-1011] - x10c and x10 scripts should check whether JAVA_HOME points to a Java 6 JRE/JDK * [XTENLANG-2055] - x10/io/Marshal.x10 cannot be flattened * [XTENLANG-2126] - Compiling with -nooutput leaves some temporary files * [XTENLANG-2250] - Add RunTestSuite to precommit * [XTENLANG-2887] - X10 For loop performance on c++ backend * [XTENLANG-2928] - Remote Array copy runtime exception running on MPI transport * [XTENLANG-2949] - Guard on superclass isn't entailed when it ought to be * [XTENLANG-2956] - X10DT doesn't seem to find existing classes very well * [XTENLANG-2960] - T isref, T haszero should imply that null can be assigned to a variable of type T * [XTENLANG-2991] - ArrayList[Rail[Int]] doesn't contain Rail[Int]s * [XTENLANG-2995] - Compiler NPE upon assignment of null to a non-null type * [XTENLANG-3038] - DistArray#reduce segfaults after many calls when compiled with MPI backend * [XTENLANG-3053] - Need to clean generated artifacts when packages are moved/deleted * [XTENLANG-3117] - No splash screen on X10DT startup on Windows 7 * [XTENLANG-3164] - Language spec missing explanation of at (x) where x is of type GlobalRef * [XTENLANG-3167] - GML: incorrect row/column used for init function in DistDenseMatrix * [XTENLANG-3168] - GlobalRef creates debug strings even when they are not being used * [XTENLANG-3170] - Incorrect "No output code is generated" errors from X10DT * [XTENLANG-3178] - Linking with gperftools requires --no-as-needed * [XTENLANG-3179] - String.format() doesn't allow percent signs for Native X10 * [XTENLANG-3180] - Not all @NativeRepped java classes are hidden from X10 * [XTENLANG-3183] - Language spec: comments and questions on coercions/casts of numeric values * [XTENLANG-3184] - No propagation of checked exceptions through at expressions * [XTENLANG-3185] - javac error when using checked exceptions in at expressions * [XTENLANG-3188] - Assertion fails with TestBlockColl.x10 * [XTENLANG-3191] - Incorrect codegen for struct with ULong property * [XTENLANG-3192] - Typedef only .x10 files are not included in x10.jar etc. making the resolution of the types not possible * [XTENLANG-3195] - x10c doesn't accept -x10lib option with relative path * [XTENLANG-3206] - Post-compilation error for field assign to an instance of type T * [XTENLANG-3207] - Bad interaction between FieldInitializerMover and Inliner generates missing __fieldInitializers calls * [XTENLANG-3208] - Post-compilation error for field assign to an instance of type C[T] * [XTENLANG-3209] - Managed X10: bridge method is not generated for methods with parameters with constraint based on abstract property * [XTENLANG-3211] - X10DT does not "Clean" up after deleted source files * [XTENLANG-3212] - Constructor splitter should not split constructor of Java types * [XTENLANG-3216] - The combination of T isref and T iszero should indicate that null is a valid value of type T * [XTENLANG-3217] - NPE caused by "-o file.jar" with x10c * [XTENLANG-3218] - NPE in compiler triggering an NPE in error queueing/reporting mechanism * [XTENLANG-3220] - using -o with an absolute filename generates an incorrect .properties file * [XTENLANG-3222] - Java codegen bug related to generic interface method * [XTENLANG-3226] - Use of Clock.advanceAll() throws a concurrent modification exception, under some conditions * [XTENLANG-3229] - Post-compilation error due to name clash between user-defined SumReducer that implements Reducible with Reducible.SumReducer * [XTENLANG-3232] - X10 APIs for (de-)serializing data * [XTENLANG-3233] - X10 optimizer eliminates method invocation with side effect * [XTENLANG-3237] - Missing explicit boxing when T is replaced with primitive type by optimizer * [XTENLANG-3239] - Inlining a method that returns a value from a finally block generates invalid c++ code * [XTENLANG-3240] - Compile error in C++ backend * [XTENLANG-3245] - Incomplete type for PlaceLocalHandle when compiling with debug symbols * [XTENLANG-3248] - NullPointerException in RuntimeType.getVariance * [XTENLANG-3250] - @Profile(prof) causes compile error in Java backend * [XTENLANG-3256] - init is called for unnecessary points in x10.array.DistArray_BlockBlock_2 * [XTENLANG-3258] - Missing stack trace from exception at remote place * [XTENLANG-3259] - java interop: post compilation error for calling java constructor with Comparable parameter * [XTENLANG-3261] - Post compilation error with Boolean.TRUE For the details of JIRA issues fixed in this release, see http: http://jira.codehaus.org/secure/ReleaseNote.jspa?version=17010&projectId=11812 Please use the X10 JIRA to report bugs, after ensuring the problem is not already reported: http://jira.codehaus.org/secure/IssueNavigator.jspa?reset=true&&pid=11812&resolution=-1 |