KMA: OpenCL Kernel Memory Allocator