nvcc has problems with the tbb headers in the clang build. Restructure slightly so that we don't need direct access to TBB from cu files.