Errore: l'identificatore "Float3" non è definito; Quando si esegue la demo Oclnbody su ATI Card

StackOverflow https://stackoverflow.com/questions/6378813

  •  28-10-2019
  •  | 
  •  

Domanda

Sto cercando di eseguire la demo OpenCl di Nvidia Oclnbody.exe sulla scheda Ati Radeo 4850 e ricevere tali errori:

Build log: c: docume ~ 1 dimedr ~ 1 locals ~ 1 temp ocl27c.tmp.cl (33): errore: identificativo

      "float3" is undefined

Real3 BodyBody Interaction (Real3 AI, Real4 BI, Real4 BJ, Real Bottheteningsquared)

^

E così via per tutto il tipo di dati Real3 utilizzando. Ho visto il Specifiche OpenCL 1.1 E dice chiaramente che Float3 è supportato. Ho provato a cambiare Real3 con Float3 senza fortuna. Ho gli ultimi driver per la mia carta. Utilizzando il sistema operativo Windows XP SP3

Come posso risolvere o aggirare questo errore?

È stato utile?

Soluzione 2

Ho trovato una soluzione alternativa:

  • Usa Float 4 invece di Float3;
  • #define zero4 {0.0f, 0.0f, 0.0f, 0.0f} e usalo invece zero3
  • e diminuire il numero di gruppo di lavoro a 64 (era 256)

E ha funzionato!

Altri suggerimenti

float3 e altri tipi vettoriali a 3 componenti non facevano parte delle specifiche OpenCL 1.0; Sono stati aggiunti nella revisione 1.1. Secondo Pagina di compatibilità del driver di AMD, Le schede Radeon HD 4800 supportano solo OpenCL 1.0.

Il fatto che il compilatore abbia cercato di interpretare float3 Come identificatore mostra che non è un tipo riconosciuto.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top