code: func NewBatchedContext(c Context, d Device) *BatchedContext {
  	return &BatchedContext{
  		Context: c,
  		Device:  d,
  
  		workAvailable: make(chan struct{}, 1),
  		work:          make(chan call, workBufLen),
  		queue:         make([]call, 0, workBufLen),
  		fns:           make([]C.uintptr_t, 0, workBufLen),
  		results:       make([]C.CUresult, workBufLen),
  		frees:         make([]unsafe.Pointer, 0, 2*workBufLen),
  		retVal:        make(chan DevicePtr),
  		initialized:   true,
  	}
  }
docs: // NewBatchedContext creates a batched CUDA context.