Use a WeakKeyDictionary for program_executor_cache to avoid keeping CL contexts alive#671
Merged
WeakKeyDictionary for program_executor_cache to avoid keeping CL contexts alive#671