Warning: Declaration of action_plugin_syntaxhighlighter3_action::register(Doku_Event_Handler &$controller) should be compatible with DokuWiki_Action_Plugin::register(Doku_Event_Handler$controller) in /s/chopin/e/proj/AlphaZ/public_html/wiki/lib/plugins/syntaxhighlighter3/action/action.php on line 112
start [AlphaZ]

start

# Differences

This shows you the differences between two versions of the page.

 start [2014/07/07 15:20]yun [Tutorial / Examples] start [2018/10/23 09:26]sanjay [Installing AlphaZ and Getting Started] Both sides previous revision Previous revision 2018/10/23 09:27 sanjay [Installing AlphaZ and Getting Started] 2018/10/23 09:27 sanjay [Installing AlphaZ and Getting Started] 2018/10/23 09:26 sanjay [Installing AlphaZ and Getting Started] 2018/10/23 09:25 sanjay [Installing AlphaZ and Getting Started] 2018/10/23 09:23 sanjay [Installing AlphaZ and Getting Started] 2018/09/25 16:29 sanjay [Tutorial / Examples] 2018/02/08 14:08 prerana [Introduction] 2017/04/19 13:33 external edit2017/01/18 10:09 swetha 2016/08/23 07:56 swetha 2016/06/23 06:58 external edit2016/05/19 14:18 swetha 2016/02/18 14:15 swetha [Introduction] 2015/10/20 13:00 external edit2015/03/06 17:13 waruna [Tutorial / Examples] 2015/02/19 12:00 waruna [Introduction] 2014/12/11 19:30 yun [Tutorial / Examples] 2014/07/07 15:20 yun [Tutorial / Examples] 2014/07/07 15:20 yun [Tutorial / Examples] 2014/07/07 11:50 yun [Tutorial / Examples] 2014/07/07 11:45 yun [Tutorial / Examples] 2014/05/30 11:49 external edit Next revision Previous revision 2018/10/23 09:27 sanjay [Installing AlphaZ and Getting Started] 2018/10/23 09:27 sanjay [Installing AlphaZ and Getting Started] 2018/10/23 09:26 sanjay [Installing AlphaZ and Getting Started] 2018/10/23 09:25 sanjay [Installing AlphaZ and Getting Started] 2018/10/23 09:23 sanjay [Installing AlphaZ and Getting Started] 2018/09/25 16:29 sanjay [Tutorial / Examples] 2018/02/08 14:08 prerana [Introduction] 2017/04/19 13:33 external edit2017/01/18 10:09 swetha 2016/08/23 07:56 swetha 2016/06/23 06:58 external edit2016/05/19 14:18 swetha 2016/02/18 14:15 swetha [Introduction] 2015/10/20 13:00 external edit2015/03/06 17:13 waruna [Tutorial / Examples] 2015/02/19 12:00 waruna [Introduction] 2014/12/11 19:30 yun [Tutorial / Examples] 2014/07/07 15:20 yun [Tutorial / Examples] 2014/07/07 15:20 yun [Tutorial / Examples] 2014/07/07 11:50 yun [Tutorial / Examples] 2014/07/07 11:45 yun [Tutorial / Examples] 2014/05/30 11:49 external edit Next revision Both sides next revision Line 5: Line 5: ====== Introduction ====== ====== Introduction ====== - AlphaZ is an open source tool-set for program analysis, transformation and parallelization in the Polyhedral Equational Model. ​ It is being developed by the Mélange group at CSU, and uses an equational language called Alpha/​Alphabets. + AlphaZ is an open source tool-set for program analysis, transformation and parallelization in the Polyhedral Equational Model. ​ It is being developed by the Mélange group ([[melange:​schedule:​spring2018|See schedule]]) ​at CSU, and uses an equational language called Alpha/​Alphabets. AlphaZ is a general framework for analysis, transformation and code generation in the Polyhedral Equational Model. The input "​program"​ consists of one or more mathematical equations that specify just //​**what**//​ needs to be computed. ​ It can be viewed as a specification. In order to produce a (conventional/​imperative) program that //​implements//​ this specification,​ one needs to specify a schedule (when), a processor allocation (who), and a memory allocation (where to store). ​ Actually, even this is not strictly necessary. ​ We also have a "​memoized demand driven"​ code generator that produces executable code in the absence of any schedule or memory/​processor allocation information. AlphaZ is a general framework for analysis, transformation and code generation in the Polyhedral Equational Model. The input "​program"​ consists of one or more mathematical equations that specify just //​**what**//​ needs to be computed. ​ It can be viewed as a specification. In order to produce a (conventional/​imperative) program that //​implements//​ this specification,​ one needs to specify a schedule (when), a processor allocation (who), and a memory allocation (where to store). ​ Actually, even this is not strictly necessary. ​ We also have a "​memoized demand driven"​ code generator that produces executable code in the absence of any schedule or memory/​processor allocation information. Line 21: Line 21: ====== Installing AlphaZ and Getting Started ====== ====== Installing AlphaZ and Getting Started ====== - Instruction to setup AlphaZ ​for CS department ​accounts, and to install in an external machine is available in a separate page.\\ + To use AlphaZ ​on the CS department ​machines, follow the [[Eclipse Setup]] - Operating systems other than MacOSX and Linux are not supported at this time.\\ + - Support for 32bit Linux is limited, since we have very little access to 32bit machines.\\ + - [[Eclipse Setup]] + - Source for AlphaZ are available in our repository, but our system depends on Eclipse and plug-ins developed for Eclipse Modeling Framework as well. We also use a large number of plug-ins from CAIRN team at IRISA, Rennes. The repository structure of CSU and IRISA is outlined in this page : [[Source Access]]. However, it is not a complete list, and we recommend users to download the bundle and then checkout projects corresponding to where you would like to make changes. + Instructions to set up an AlphaZ developer version for CS department accounts, and/or on an external machine are also available on the [[Eclipse Setup]] page. + + Operating systems other than MacOSX and Linux are not supported at this time.  Support for 32bit Linux is limited, since we have very little access to 32bit machines. + + Source for AlphaZ are available in our repository, but our system depends on Eclipse and plug-ins developed for Eclipse Modeling Framework as well.  We also use a large number of plug-ins from CAIRN team at IRISA, Rennes. The repository structure of CSU and IRISA is outlined in this page : [[Source Access]]. However, it is not a complete list, and we recommend users to download the bundle and then checkout projects corresponding to where you would like to make changes. ====== Alphabets and Equational Programming ====== ====== Alphabets and Equational Programming ====== Line 64: Line 65: ====== Tutorial / Examples ===== ====== Tutorial / Examples ===== - List of Commands http://​www.cs.colostate.edu/​AlphaZ/​AlphaZCommandRefV2.pdf\\ + List of Commands http://​www.cs.colostate.edu/​AlphaZ/​AlphaZCommandRef.pdf\\ Tutorial using LU decomposition [[Tutorial LUD]].\\ Tutorial using LU decomposition [[Tutorial LUD]].\\ + Tutorial on Check Program [[Check Program]].\\ + Example of how to use [[Schedule Code Generator]].\\ Tutorial on how to use external functions [[Tutorial External Function]].\\ Tutorial on how to use external functions [[Tutorial External Function]].\\ Tutorial on how to write program with subsystem [[Tutorial SubSystem]]. \\ Tutorial on how to write program with subsystem [[Tutorial SubSystem]]. \\ - Tutorial on Check Program [[Check Program]].\\ {{^ [[Calculator]].}}\\ {{^ [[Calculator]].}}\\ Examples of how to use [[Normalize]].\\ Examples of how to use [[Normalize]].\\ Line 75: Line 77: Example of how to use [[Schedulers]].\\ Example of how to use [[Schedulers]].\\ {{^ [[Verifier]].}}\\ {{^ [[Verifier]].}}\\ - Example of how to use [[Schedule Code Generator]].\\ List of [[Code Gen Options]].\\ List of [[Code Gen Options]].\\ - Example ​of how to use [[Schedule Code Generator for code for SubSystem]].\\ + Examples ​of how to use [[Schedule Code Generator for code with SubSystem]].\\ + Examples of how to use [[Tiled Code Generator (DTiler)]].\\ Tutorial on transformations of reductions [[Reduction Tutorial]].\\ Tutorial on transformations of reductions [[Reduction Tutorial]].\\ How to run compiler scripts from terminal. [[Command Line AlphaZ]] How to run compiler scripts from terminal. [[Command Line AlphaZ]] Line 84: Line 86: The //​**polyhedral model**// is a framework for analysis and transformations of programs, extensively used for high-level loop optimizations in compilers today. The //​polyhedral **equational** model// has the same goals, but focuses on equational/​functional programming. The model provides the ability to reason mathematically about programs, their dependences,​ and semantics. This has lead to a number of very powerful tools for automatic parallelization. By design, the model is applicable to a limited class of programs: dense, regular, computations (the so-called //affine// computations). ​ However, such programs are very widespread, and constitute the compute- and data-intensive kernels in most applications. The //​**polyhedral model**// is a framework for analysis and transformations of programs, extensively used for high-level loop optimizations in compilers today. The //​polyhedral **equational** model// has the same goals, but focuses on equational/​functional programming. The model provides the ability to reason mathematically about programs, their dependences,​ and semantics. This has lead to a number of very powerful tools for automatic parallelization. By design, the model is applicable to a limited class of programs: dense, regular, computations (the so-called //affine// computations). ​ However, such programs are very widespread, and constitute the compute- and data-intensive kernels in most applications. +
start.txt · Last modified: 2018/10/23 09:27 by sanjay