Setting up files to implement MPI+OpenCL
adding MPI halo exchange statements to MPI+OpenCL application of Cloverleaf 2D

Conflicts:

	apps/mblock/mblock_ops.cpp
	ops/Makefile
	ops/src/opencl/ops_opencl_decl.c
	ops/src/opencl/ops_opencl_rt_support.c
Picking up OpenCL devices under MPI
Working code for selecting devices
Setting up pack and unpack wrappers for mpi+opencl
etting up body of pack and unpack wrappers
Need to add ocl pack/unpack kernels
Bug in opencl host_dev copy in build_fields
Fix initial bug with cpHostToDevice
Adding opencl source for pack and unpack
debugging MPI+OpenCL
Testing initialization
Commenting out initialize_chunck MPI+OpenCL compiles through
Working with initialize_chunck
debugging pack unpack opencl
Testing with empty kernels
Debugging OpenCL
MPI+OpenCL compilation

Conflicts:

	apps/CloverLeaf/OpenCL/PdV_kernel_nopredict_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/PdV_kernel_predict_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/accelerate_kernel_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/advec_cell_kernel1_xdir_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/advec_cell_kernel1_ydir_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/advec_cell_kernel2_xdir_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/advec_cell_kernel2_ydir_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/advec_cell_kernel3_xdir_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/advec_cell_kernel3_ydir_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/advec_cell_kernel4_xdir_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/advec_cell_kernel4_ydir_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/advec_mom_kernel1_x_nonvector_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/advec_mom_kernel1_y_nonvector_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/advec_mom_kernel2_x_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/advec_mom_kernel2_y_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/advec_mom_kernel_mass_flux_x_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/advec_mom_kernel_mass_flux_y_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/advec_mom_kernel_post_pre_advec_x_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/advec_mom_kernel_post_pre_advec_y_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/advec_mom_kernel_x1_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/advec_mom_kernel_x2_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/advec_mom_kernel_y1_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/advec_mom_kernel_y2_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/calc_dt_kernel_get_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/calc_dt_kernel_min_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/calc_dt_kernel_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/calc_dt_kernel_print_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/field_summary_kernel_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/flux_calc_kernelx_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/flux_calc_kernely_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/ideal_gas_kernel_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/reset_field_kernel1_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/reset_field_kernel2_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/revert_kernel_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/update_halo_kernel1_b1_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/update_halo_kernel1_b2_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/update_halo_kernel1_l1_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/update_halo_kernel1_l2_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/update_halo_kernel1_r1_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/update_halo_kernel1_r2_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/update_halo_kernel1_t1_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/update_halo_kernel1_t2_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/update_halo_kernel2_xvel_minus_2_a_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/update_halo_kernel2_xvel_minus_2_b_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/update_halo_kernel2_xvel_minus_4_a_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/update_halo_kernel2_xvel_minus_4_b_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/update_halo_kernel2_xvel_plus_2_a_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/update_halo_kernel2_xvel_plus_2_b_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/update_halo_kernel2_xvel_plus_4_a_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/update_halo_kernel2_xvel_plus_4_b_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/update_halo_kernel2_yvel_minus_2_a_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/update_halo_kernel2_yvel_minus_2_b_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/update_halo_kernel2_yvel_minus_4_a_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/update_halo_kernel2_yvel_minus_4_b_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/update_halo_kernel2_yvel_plus_2_a_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/update_halo_kernel2_yvel_plus_2_b_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/update_halo_kernel2_yvel_plus_4_a_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/update_halo_kernel2_yvel_plus_4_b_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/update_halo_kernel3_minus_2_a_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/update_halo_kernel3_minus_2_b_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/update_halo_kernel3_minus_4_a_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/update_halo_kernel3_minus_4_b_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/update_halo_kernel3_plus_2_a_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/update_halo_kernel3_plus_2_b_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/update_halo_kernel3_plus_4_a_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/update_halo_kernel3_plus_4_b_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/update_halo_kernel4_minus_2_a_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/update_halo_kernel4_minus_2_b_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/update_halo_kernel4_minus_4_a_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/update_halo_kernel4_minus_4_b_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/update_halo_kernel4_plus_2_a_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/update_halo_kernel4_plus_2_b_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/update_halo_kernel4_plus_4_a_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/update_halo_kernel4_plus_4_b_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/viscosity_kernel_opencl_kernel.cpp
	translator/python/ops_gen_mpi.py
Works with CPU side pack and unpack

Conflicts:

	apps/CloverLeaf/OpenCL/calc_dt_kernel_get_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/calc_dt_kernel_min_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/calc_dt_kernel_print_opencl_kernel.cpp
	apps/CloverLeaf/OpenCL/field_summary_kernel_opencl_kernel.cpp
testing OCL pack