P. L'Ecuyer and R. Touzin, `Fast Combined Multiple Recursive Generators with Multipliers of the form a = +/- 2^d +/- 2^e <http://www.informs-sim.org/wsc00papers/090.PDF>`_, Proceedings of the 2000 Winter Simulation Conference, Dec. 2000, 683--689.
We were authorized by Pierre L'Ecuyer to copy/modify his Java implementation in the `SSJ <http://www.iro.umontreal.ca/~simardr/ssj/>`_ software and to relicense it under BSD 3-Clauses in Theano.
* A better GPU memory allocator :attr:`CNMeM <config.lib.cnmem>` is included in Theano. It has the same license.
{"dimshuffle",CudaNdarray_Dimshuffle,METH_VARARGS,"Returns the dimshuffle of a CudaNdarray."},
{"dot",CudaNdarray_Dot,METH_VARARGS,"Returns the matrix product of two CudaNdarray arguments."},
{"gpu_init",CudaNdarray_gpu_init,METH_VARARGS,"Select the gpu card to use; also usable to test whether CUDA is available."},
{"select_a_gpu",CudaNdarray_select_a_gpu,METH_NOARGS,"Call this method if you want to select a GPU before gpu_init call and let the driver choose the GPU."},
{"active_device_name",CudaNdarray_active_device_name,METH_VARARGS,"Get the name of the active device."},
{"active_device_number",CudaNdarray_active_device_number,METH_VARARGS,"Get the number of the active device."},
{"gpu_shutdown",CudaNdarray_gpu_shutdown,METH_VARARGS,"Shut down the gpu."},