zehanort / oclude Goto Github PK
View Code? Open in Web Editor NEWAn OpenCL driver to test, run and profile standalone kernels on arbitrary devices
License: MIT License
An OpenCL driver to test, run and profile standalone kernels on arbitrary devices
License: MIT License
for easier usage from Python scripts (e.g. machine learning applications)
Create an API for custom user input - a plugin interface.
E.g. support plugins (as shared objects) that the user can write (this needs proper documentation obviously) to parse input from a file/stdin to OpenCL objects/buffers.
See the oclgrind plugin support for inspiration.
useless now that no optimizations are used
It most certainly is an enhancement, but it is also a bug, given that some rodinia kernels can not even compile after the instrumentation...
Specifically:
--clear-cache
: Remove the whole .cache
directory--ignore-cache
: Do not use (possibly) cached info regarding the provided kernel file--no-cache-warnings
: If the size of the .cache
directory exceeds a certain limit, say 100MiB, a warning is shown to the user (implement that, too). This flag suppresses this warning.possibly with the use of a yaml
file
More specifically:
cfd/Kernels.cl
heartwall/kernel_gpu_opencl.cl
lavaMD/kernel_gpu_opencl.cl
particlefilter/particle_double.cl
Must include the following, at least:
maybe discard cache?
Currently, the .cache
directory resides in the utils
directory. This is probably a bad choice if oclude
gets released, i.e. downloadable and installable from pip
.
A better idea would be to move it somewhere predefined (e.g. to /home/user/.oclude/.cache
e.g. in *nix).
Commands and kernel info should be printed only on debug level verbosity
it also messes with instructions, i.e. some are not accounted for
only found in the module API.
timeout
value (i.e. not specifying a timeout
value) leads to the same results every time.timeout
value different than 0 leads to oclude
hanging.Debug (actually, redesign and rewrite) the file caching utility.
Export an extra functionality, that of context profiling, but separately. Context profiling every time the --time-it flag is given is both redundant and extremely expensive.
i.e. not only for load
and store
. Most importantly getelementptr
. These are the instructions: https://llvm.org/docs/LangRef.html#memory-access-and-addressing-operations
Create a simple interface to pretty-print output (as an addition to what is proposed in issue #4).
Support plugins (as shared objects) to which the OpenCL kernel buffers are exported in order to be processed by the user.
Do not forget proper documentation.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.