For more information, please visit the Oclgrind Wiki:
https://github.com/jrprice/Oclgrind/wiki


Oclgrind 19.10
==============
- Added support for executing commands across multiple command queues
- Added support for out-of-order command queues
- Added support for LLVM 7.0, 8.0 and 9.0
- Dropped support for LLVM 3.9 and 4.0
- Various minor bug fixes


Oclgrind 18.3
=============
Added support for the following OpenCL 2.0 features:
- Program-scope global variables
- Non-uniform work-group sizes
- Several miscellaneous API and kernel functions

Other changes:
- Switched to using Clang's builtin OpenCL header (opencl-c.h)
- Added support for LLVM 4.0, 5.0 and 6.0
- Dropped support for LLVM 3.6, 3.7 and 3.8
- Added --{global,constant,local}-mem-size and --max-wgsize options
- Removed autotools build system
- Improved support for big-endian systems
- Various minor bug fixes


Oclgrind 16.10
==============
This release incorporates the following changes:

- Added plugin to detect use of uninitialized values (from Moritz Pflanzer)
- Added memoryMap and memoryUnmap plugin callbacks
- Added support for LLVM 3.7, 3.8, and 3.9
- Added oclgrind.exe command on Windows
- Report invalid uses of mapped buffers inside kernels
- Report invalid indices when accessing statically sized arrays
- Improved coverage of race detection plugin
- Fixed memcheck false-positive when writing to a write-only vector array
- Oclgrind will now appear with device type (CPU | GPU | ACCELERATOR | DEFAULT)
- Various minor bug fixes


Oclgrind 15.5
=============
This release updates to LLVM 3.6, which improves the OpenCL C compiler
and provides some additional performance enhancements. See README for
revised instructions on how to build Oclgrind from source.

- Fixed race conditions in atomic operations
- Interactive debugger breaks on Ctrl+C
- Various other minor bug fixes


Oclgrind 15.2
=============
This release significantly improves simulation performance, and fixes
several bugs impacting on usage and stability.

- Added detection for violations of read-only/write-only attributes
- Added --build-options argument to append additional compiler flags
- Added hostMemoryLoad and hostMemoryStore callbacks
- Added workGroupBegin and workItemBegin callbacks
- Split atomic callbacks into separate load and store
- Multi-threaded simulation to improve performance
- Various other performance improvements
- Several general bug fixes and stability improvements


Oclgrind 14.12
==============
This release incorporates a new plugin system, to allow third-party
developers to build tools that utilise Oclgrind. More information can
be found on the Wiki:
https://github.com/jrprice/Oclgrind/wiki/Creating-Plugins

In addition, this release contains the following changes:
- Interactive debugger now has a command history
- Detection for unaligned memory accesses
- Limit the number of error messages printed to avoid flooding output
- Various other bug fixes and improvements


Oclgrind 14.5
=============
Initial release (beta).

Implements a SPIR 1.2 interpreter which can be targeted either via an
OpenCL 1.2 runtime API implementation or using a standalone kernel
interface.

Provides the following utilities:
- Memory access error detection
- Work-group divergence detection (barriers, async-copies)
- Data-race detection (--data-races)
- Simple interactive debugger (--interactive)
- Instruction histograms (--inst-counts)
- OpenCL runtime API error reporting (--check-api)
