AthXRT::IDeviceMgmtSvc::OpenCLHandle Node1 AthXRT::IDeviceMgmtSvc ::OpenCLHandle Node2 std::shared_ptr< cl ::Program > + ptr + operator->() Node2->Node1 +program Node3 std::shared_ptr< cl ::Context > + ptr + operator->() Node3->Node1 +context