C'è un modo per ottenere OpenCL per fornirmi un elenco di tutti i dispositivi fisici univoci che dispongono di un'implementazione OpenCL? So come scorrere l'elenco di piattaforme/dispositivi, ma per esempio, nel mio caso, ho una piattaforma fornita da Intel che mi fornisce un'efficiente implementazione della periferica per la mia CPU e la piattaforma APP che fornisce un'implementazione rapida per la mia GPU ma un'implementazione terribile per la mia CPU.Unicità dispositivo OpenCL
C'è un modo per capire che i due dispositivi CPU sono in effetti lo stesso dispositivo fisico, così posso scegliere quello più efficiente e lavorare con quello, invece di usarli entrambi e farli contendere tra loro per calcolare il tempo sul singolo dispositivo fisico?
ho guardato CL_DEVICE_VENDOR_ID
e CL_DEVICE_NAME
ma non risolvere i miei problemi, la CL_DEVICE_NAME
sarà lo stesso per i due dispositivi fisici separati dello stesso modello (dual GPU) e CL_DEVICE_VENDOR_ID
mi dà un ID diverso per la mia CPU a seconda sulla piattaforma.
Una soluzione ideale sarebbe una sorta di ID dispositivo fisico univoco, ma sarei felice di alterare manualmente la configurazione di OpenCL per riorganizzare i dispositivi da solo (se tale cosa è possibile).
Non capisco la domanda .. quindi si desidera scegliere tra due CPU con le specifiche identiche? – ardiyu07
Voglio usare tutti i dispositivi fisici disponibili (per un problema facilmente parallelizzabile) - e voglio usare solo un singolo dispositivo logico per dispositivo fisico altrimenti ho contesa. – Thomas