retain the CUDA execution context over the life of the program
retain the CUDA execution context over the life of the program

Ignore-this: 806b0783a1a7cb09ed8a3237721f60d5
- each device has an individual context generated as a shared on-demand action,
  and remains for the life of the program. Note that these are only ever
  destroyed if the execution of the accelerate expression raises an exception.
- it should also be possible now to retain a bit more information between
  executions, and avoid reloading the compiled modules.

darcs-hash:20100903103316-dcabc-8ebfaae5e90b394a58fb12e1d5385c750ecc9c4b.gz

robeverest/accelerate,robeverest/accelerate,rrnewton/accelerate,wilbowma/accelerate,sjfloat/accelerate,wilbowma/accelerate