Czy istnieje sposób na uzyskanie OpenCL, aby uzyskać listę wszystkich unikalnych urządzeń fizycznych, które mają implementację OpenCL? Wiem, jak przejrzeć listę platform/urządzeń, ale na przykład w moim przypadku mam jedną platformę dostarczoną przez firmę Intel, która zapewnia wydajną implementację urządzenia dla mojego procesora oraz platformę APP, która zapewnia szybką implementację dla mojego GPU, ale straszna implementacja mojego procesora.Unikalność urządzenia OpenCL
Czy istnieje sposób sprawdzenia, czy te dwa urządzenia CPU są w rzeczywistości tym samym urządzeniem fizycznym, tak że mogę wybrać najbardziej wydajny i pracować z nim, zamiast używać obu tych urządzeń i mieć ze sobą rywalizację czas obliczeń na pojedynczym urządzeniu fizycznym?
Mam spojrzał na CL_DEVICE_VENDOR_ID
i CL_DEVICE_NAME
ale nie rozwiąże moich problemów program CL_DEVICE_NAME
będzie taka sama dla dwóch oddzielnych urządzeń fizycznych tego samego modelu (dual GPU) i CL_DEVICE_VENDOR_ID
daje mi inny identyfikator dla mojego procesora w zależności na platformie.
Idealnym rozwiązaniem byłby jakiś unikalny identyfikator urządzenia fizycznego, ale byłbym zadowolony z ręcznej zmiany konfiguracji OpenCL, aby samemu zmienić układ urządzeń (jeśli takie rzeczy są możliwe).
Nie otrzymuję pytania .. więc chcesz wybrać pomiędzy dwoma procesorami z identycznymi specyfikacjami? – ardiyu07
Chcę używać wszystkich dostępnych urządzeń fizycznych (w celu łatwego zrównoleglenia) - i chcę używać tylko jednego urządzenia logicznego przez fizyczne urządzenie, w przeciwnym razie dostanę rywalizację. – Thomas