168 OPEN_NET_PUBLIC
virtual ~Kernel ();
169 OPEN_NET_PUBLIC
virtual Status
AppendCode (
const char * aCode,
unsigned int aCodeSize_byte);
170 OPEN_NET_PUBLIC
virtual Status
ResetCode ();
171 OPEN_NET_PUBLIC
virtual Status
SetCode (
const char * aFileName);
172 OPEN_NET_PUBLIC
virtual Status
SetCode (
const char * aCode,
unsigned int aCodeSize_byte);
173 OPEN_NET_PUBLIC
virtual Status
Display (FILE * aOut)
const;
174 OPEN_NET_PUBLIC
virtual unsigned int Edit_Remove (
const char * aSearch);
175 OPEN_NET_PUBLIC
virtual unsigned int Edit_Replace(
const char * aSearch,
const char * aReplace);
178 OPEN_NET_PUBLIC
virtual Status
GetStatistics (
unsigned int * aOut,
unsigned int aOutSize_byte,
unsigned int * aInfo_byte,
bool aReset);
183 void ResetCommandQueue();
185 void SetCommandQueue(
void * aCommandQueue);
187 void AddStatistics( Event * aEvent );
189 void * AllocateBuildLog();
190 char * AllocateBuildLog(
size_t aSize_byte );
194 typedef std::map< unsigned int, UserBuffer * > UserArgumentMap;
198 const Kernel & operator = (
const Kernel &);
200 void CodeLines_Count ();
201 void CodeLines_Generate();
210 char * mCodeLineBuffer ;
211 unsigned int mCodeLineCount ;
212 const char ** mCodeLines ;
213 void * mCommandQueue ;
214 bool mProfilingEnabled ;
215 unsigned int * mStatistics ;
216 uint64_t mStatisticsSums[3];
218 UserArgumentMap mUserArguments;
227 return mProfilingEnabled;
virtual OPEN_NET_PUBLIC unsigned int Edit_Replace(const char *aSearch, const char *aReplace)
Remplacer des chaines dans le code.
OPEN_NET_PUBLIC Status SetStaticUserArgument(unsigned int aIndex, UserBuffer *aArg)
Ajouter un argument utilisateur qui est toujours passée au kernel.
OPEN_NET_PUBLIC void * GetCommandQueue()
Obtenir la queue de command qui execute ce kernel.
OpenNet::StatisticsProvider.
virtual OPEN_NET_PUBLIC unsigned int Edit_Remove(const char *aSearch)
Retirer des chaines du code.
La classe Kernel.
Definition: Kernel.h:38
La classe SourceCode.
Definition: SourceCode.h:30
OPEN_NET_PUBLIC bool IsProfilingEnabled() const
Est-ce que le profiling OpenCL est activé?
Definition: Kernel.h:225
virtual OPEN_NET_PUBLIC Status AppendCode(const char *aCode, unsigned int aCodeSize_byte)
Ajouter du code.
OPEN_NET_PUBLIC Status EnableProfiling()
Activer le profiling OpenCL.
OPEN_NET_PUBLIC unsigned int GetCodeLineCount()
Obtenir le nombre de lignes de code.
virtual OPEN_NET_PUBLIC Status ResetCode()
Reinitialiser le code.
virtual OPEN_NET_PUBLIC Status ResetStatistics()
Cette méthode remet à zéro les compteurs de statistiques de l'adaptateur.
OPEN_NET_PUBLIC Kernel()
Constructeur.
OPEN_NET_PUBLIC const char * GetBuildLog() const
Obtenir le log de compilation.
La classe UserBuffer.
Definition: UserBuffer.h:29
OPEN_NET_PUBLIC Status DisableProfiling()
Désactiver le profiling OpenCL.
virtual OPEN_NET_PUBLIC Status GetStatistics(unsigned int *aOut, unsigned int aOutSize_byte, unsigned int *aInfo_byte, bool aReset)
Cette méthode retourne les statistiques de l'adaptateur.
La class StatisticsProvider.
Definition: StatisticsProvider.h:30
OPEN_NET_PUBLIC const char ** GetCodeLines()
Obtenir les lignes de code.
virtual OPEN_NET_PUBLIC Status SetCode(const char *aFileName)
Assigner le code en utilisant un fichier source.
virtual OPEN_NET_PUBLIC void SetUserKernelArgs(void *aKernel)
Appelé pour ajouter des arguments utilisateur au kernel.
virtual OPEN_NET_PUBLIC Status Display(FILE *aOut) const
Afficher.