Visualizzazione dei risultati da 1 a 2 su 2

Discussione: [c++] cuda e puntatori

  1. #1
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826

    [c++] cuda e puntatori

    ciao.
    Ho creato un insieme di oggetti in opengl , dei modelli , ho poi creato un algoritmo in cuda che estrae per ogni oggetto da che luci è illuminato per farla semplice.
    alla fine cuda mi restituisce un area di memoria dove vi sono i cambiamnenti di frame in frame, per es mi restituice l'id di una luce e una serie di id di oggetti che questa luce influenza.
    Per velocizzare vorrei apere se posso utilizzare i puntatori in modo raw , per es:
    codice:
    class openglobj1
    {
        id = 1;
        DWORD* pLUCI = new DWORD[MAXLIGHT];
    }
    cuda mi reetituisce questo:

    [objid:1]{idluce:1, idluce:2, idluce:3}[objid:2]{idluce: 4, idluce: 5}

    posso usare direttamente i puntatori invece di utilizzare mappe e id?
    se per es invece degli id ,cuda mi restituisce degli indirizzi di memoria posso andare a settare pLuci[x] direttamente senza l'uso di mappe.
    E' possibile?
    o ci sono problemi di cui non ho tenuto conto?

    non vorrei utilizzare mappe perchè ho moltissimi oggetti e luci e vorrei guadagnare qualcosa in performances.

    grazie.

  2. #2
    Utente di HTML.it
    Registrato dal
    Jun 2003
    Messaggi
    4,826
    ciao volevo spiegarmi un po meglio:
    in cuda ho due(per semplificare) aree: host(cpu) e device(gpu).
    ci sono delle determinate funzioni che allocano la memoria sulla gpu per caricarla e altre che copiano la memoria dalla gpu sulla cpu quando sono pronti i dati calcolati.
    Ora tutto è chiaro si basa sugli indirizzi.
    Nel mio progetto ho una serie di oggetti con alcune variabili membro, e io vorrei andare a aggiornare queste variabili membro degli oggetti che voglio dopo aver calcolato con cuda i risultati.
    Per fare questo pensavo di utilizzare i puntatori ma non so se esiste qualcosa di gia fatto o meno.
    Gli inirizzi servirebbero come id in cuda per sapere su che oggetto lavoro e finiti i calcoli per andare a settare i valori sulle cpu e sul oggetto specifico.

    In cuda non ho trovato funzioni che fanno questo, mi chiedevo se si potesse affrontare il problema ad es. con una variante della logica propria della serializzazione.

    grazie.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2024 vBulletin Solutions, Inc. All rights reserved.