Initial ptx (CUDA) math library support. Not tested yet.
Add support for math library functions on PTX target (CUDA) via
NVidia's libdevice mechanism.
Merge branch 'master' into ptx_math
Disable ptx backend on llvm 3.2
Add missing include.
Reductions are now really scheduled as-inline-as-possible by default.

This means that:
f(x, y) = sum(...);
f.vectorize(x, 4);

Now actually vectorizes the computation of the sum. Previously it did not.

Required coming up with vectorization rules for For and Allocate nodes.
Add NULL device protection to free and validate routines for CUDA
and OpenCL backends to prevent errors with gpu_debug targets when
freeing a buffer_t with no device pointer allocated.
Handle clamped ramps more aggressively earlier.
Fix avx2 detection

(was reading from ecx instead of ebx)
Added another tutorial lesson
Merge branch 'master' into pr/187

Conflicts:
	Makefile
Fix compiling with opencl enabled but no opencl kernels.
Fix race condition in process_some_tiles
Merge branch 'pr/187'
Merge branch 'master' into ptx_math

Conflicts:
	src/Target.cpp
MAke CUDA support work for 32-bit builds.
Untabify.
Fix totally incorrect generation of abs_ intrinsic calls
Merge branch 'master' of github.com:halide/Halide
Fixed bad kernel args issue for OpenCL C target