you can allocate buffer up to min of CL_DEVICE_MAX_MEM_ALLOC_SIZE from all devices. this is from specification.
total memory buffer should be IMHO (as i understand specification) unlimited. but on current implementation you can allocate just up to
CL_DEVICE_GLOBAL_MEM_SIZE in total. in case of multiple devices it is minimum from all devices.
Thanks a lot for the answer!