|
Overview
JaLoopA which stands for Java Loop Analyzer is a set of utilities and NetBeans plugins designed to analyze Java source code for the purpose of exploiting parallelism within unoptimized, single threaded code. JaLoopA is similar in concept to OpenMP and it's eventual goal is to provide the same level of functionality. JaLoopA is intended to be used with legacy codebases where transitioning them to multithreaded code is either too time consuming or prohibitively dangerous if the developer is inexperienced with parallel programming or Java threading. As it's name would suggest, JaLoopA will scan the source code and identify loops which can be parallelized without the developer typing a single line of code. The initial goal of the JaLoopA project is to target developers who want to extract parallelism out of their code without having to directly modify the code themselves. The ultimate goal though is to offer the exact same features and power of OpenMP which would allow experienced developers to use annotations to identify loops that they wish to parallelize and to provide hints to JaLoopA as to how to share data amongst threads for optimal performance gains. ![]() ![]() As charts clearly demonstrate the potential for speedup within common algorithms is signifincant without the developer ever changing a single line of code. These are neither toy nor contrived examples and are indicative of the types of loops found within a typical application. Why risk introducing bugs or pushing out deadlines when JaLoopA can provide significant speedups and like OpenMP can do so without changing the single threaded performance. Project Goals The following represents the milestones for this project during the duration of the Summer 2009 term.
Source Code The JaLoopa codebase is being hosted at CodePlex. Future development and bug tracking will be handled through the CodePlex interface. Documentation User Guide Build Instructions Checkout Instructions License JaLoopA is released under the New BSD License (BSD) Contact Info
|