Check done by tools/checklist.csh
=================================
Prototypes in .cpp files? Move to headers!

C's malloc or free used anywhere?

C++ new or delete used anywhere?

C++ fstream, iostream, cout used anywhere?

System headers included directly in cpp files, instead of via common_magma.h?
(There are a few exceptions allowed.)

CUDA or CUBLAS functions used without MAGMA wrappers?
(Some don't have wrappers yet.)

Any instances of (N+nb-1)/nb, etc. creep back in (ceildiv, roundup)?

Style guide compliance (spaces, etc.)


Manual checking of code
=================================
All new functions documented accurately?

All new functions in testing/run_tests.py?
All new functions in sparse-iter/testing/run_tests.py?

All functions pass run_tests.py?


Compilation checks
=================================
Documentation
	cd docs && ./groups.sh -- any groups unused or undefined?
	(currently QUARK undefined; geqrf_tile unused)
	
	cd docs && make
	check errors in output_err
	open docs/html/index.html and browse through Modules to see that things look right

Compile & run with -DNDEBUG (no asserts)
	This is how MathWorks compiles it.

Compile & run on:
	This script will compile and save output from each make.inc file:
	tools/checklist_builds.csh [ acml atlas mkl-gcc mkl-icc mkl-gcc-ilp64 mkl-icc-ilp64 ... ]
	
	Linux
		icc, gcc
		MKL
		MKL ILP64
		ACML 5 or 6
		OpenBLAS
	MacOS using gcc & veclib
	Windows using CMake & MKL
	
	CUDA 5.0
	CUDA 5.5
	CUDA 6.0
	CUDA 6.5
	CUDA 7.0
	
	pgi compilers?

Any compiler warnings?


Posting tar files
=================================
# e.g., for release 1.2.3, optionally beta 4 or release candidate 5

# (1) generate tar file

./tools/MakeMagmaRelease.pl 1.2.3 [-b 4] [-c 5]

When making the final tar file (i.e., after all release testing), this asks to
automatically update the version in magma.h in the SVN & tag the release.

# (2) copy and make group writable, world readable

scp magma-1.2.3.tar.gz zoot:/mnt/projectsfiles/magma/downloads/
ssh zoot
cd /mnt/projectsfiles/magma/downloads
chmod 664 magma-1.2.3.tar.gz

# (3) install web documentation (still on zoot)

cd /mnt/projectsfiles/magma

# move old out of the way
mv doxygen doxygen-old

# move new into place
tar -zxvf downloads/magma-1.2.3.tar.gz magma-1.2.3/docs/html
mv magma-1.2.3/docs/html doxygen
chmod -R a+rX,g+w doxygen
rm -rf magma-1.2.3

# check online
http://icl.cs.utk.edu/magma/
click on Documentation, which should go to here:
http://icl.cs.utk.edu/projectsfiles/magma/doxygen/

# after everything looks good, remove old docs
/bin/rm -rf doxygen-old

# (4) post announcement
verify that you can download it via web browser (i.e., link is correct)
