Running the Connected Dataflow Idiom Finder
Download packages
First, download cdif-1.0.tar.gz.
Then, extract the file into a work directory on your
machine. While the software may run on other platforms,
we have developed this software mainly on GNU/Linux/x86
platforms.
# tar -xvzf cdif-1.0.tar.gz
Build the tool
Now that the files have been extracted, you are ready to build CDIF.
Currently, we have only tested the source with a gcc compiler suite on
various GNU/Linux machines. We are currently developing with the gcc-3.2.x,
and we have also tested with various minor versions from gcc-2.95 to
gcc-4.0.0. If you are using a version of the Standard Template Library
(STL) that comes with gcc-3.0 and below, there are known issues with
compiling certain non-standard STL containers. This issue is caused by the
relocation of the non-standard STL containers into a seperate directory.
As a result, the #include directives and some of the namespaces need to change
with the gcc upgrades. For example, if you run
into such a problem with files like "ext/hash_map", older gcc versions used
"hash_map". If you have any issues compiling, please post to the mailing list
(coming soon), or email
spadini@crhc.uiuc.edu. This should be
a simple issue to resolve and will hopefully be non-existent in future releases.
CDIF has one external dependency: expat,
a small, fast XML parser toolkit. CDIF will not compile unless expat is installed.
It is commonly available, and may already be installed on your system. If not, the
current production version can be downloaded
here.
# cd cdif-1.0
# make depend
# make
Run the test region file
If all went as well as we had hoped, your build was successful, and you are
ready to run CDIF. This example runs the test region file, and produces the
default output (idioms.xml.gz.bz2). The docs/README.options file contains a
description of other command line options not shown here. The example
then uses idiom-plot to display the top
idiom graphically, and uses idiom-stats to display the top idiom in text
and some statistics about it. Running idiom-plot and idiom-stats with the
-h command line argument gives a listing of all the available options.
Substitute the -pdf-viewer argument to idiom-plot with whatever program you
use to view pdf files.
# ./cdif -region_file xml/region-example.xml.gz.bz2
# ./idiom-plot -f idioms.xml.gz.bz2 -pdf-viewer xpdf
# ./idiom-stats -f idioms.xml.gz.bz2
Incorporate CDIF into your tools
CDIF is one piece of a larger puzzle. It can be integrated into your toolchain in
a number of ways. The following is a list of things you may want to do to interface
with CDIF, and how to get started on them.
-
If you want to create your own region files, consult docs/README.porting
included in the CDIF distribution.
-
If you want to use the output of CDIF in your own tool, you should use the parser
in src/tools/idiom-xml-parse.h,cc. You may want to also look at the docs/README.xml file
included in the CDIF distrubution.
-
If you want to use CDIF for an ISA other than the rePLay
ISA, then please consult docs/README.porting included in the CDIF distribution.
-
If you need to modify CDIF itself, the next step is getting to know the tool's source.
The best place to get started is the main CDIF object cdif_c (in cdif.h). Reading all of
the README documents in the docs directory will also help you get an idea of what CDIF
does.
We strive to keep the code clear, concise, and well documented. Obviously,
learning a new tool through code review is not always the easiest way to delve
into uncharted territory. If you have any questions, don't hesitate to email
spadini@crhc.uiuc.edu. We want to
make this as straight forward as possible.
|