Skip to content

Commit

Permalink
Merge branch '1.3.x' of https://github.com/AMDComputeLibraries/MLOpen
Browse files Browse the repository at this point in the history
…into 1.3.x
  • Loading branch information
mayank daga committed Mar 30, 2018
2 parents 216a96e + 0e03af1 commit 08114ba
Show file tree
Hide file tree
Showing 7 changed files with 282 additions and 138 deletions.
38 changes: 24 additions & 14 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -18,7 +18,17 @@ AMD's library for high peformance machine learning primitives. MIOpen supports t
* [Boost](http://www.boost.org/) at least version 1.58
* MIOpen uses `boost-system` and `boost-filesystem` packages to enable persistent [kernel cache](https://github.com/ROCmSoftwarePlatform/MIOpen/blob/master/doc/src/cache.md)

Instructions to install the above dependencies are present in this [section](#installing-the-dependencies).
## Installing the dependencies

The dependencies can be installed with the `install_deps.cmake`, script: `cmake -P install_deps.cmake`


This will install by default to `/usr/local` but it can be installed in another location with `--prefix` argument:
```
cmake -P install_deps.cmake --prefix /some/local/dir
```

Instructions to manually install all the dependencies on Ubuntu v16 are present in this [section](#installing-the-dependencies-manually).

## Installing MIOpen with pre-built packages

Expand Down Expand Up @@ -167,19 +177,7 @@ Also, githooks can be installed to format the code per-commit:
./.githooks/install
```

## Installing the dependencies

The dependencies can be installed with the `install_deps.cmake`, script:

```
cmake -P install_deps.cmake
```

This will install by default to `/usr/local` but it can be installed in another location with `--prefix` argument:

```
cmake -P install_deps.cmake --prefix /some/local/dir
```
## Installing the dependencies manually

If Ubuntu v16 is used then the `OpenSSL` and `Boost` packages can also be installed by:
```
Expand All @@ -188,3 +186,15 @@ sudo apt-get install libboost-dev
sudo apt-get install libboost-system-dev
sudo apt-get install libboost-filesystem-dev
```

`half` header needs to be installed from [here](http://half.sourceforge.net/).

## Using docker

The easiest way is to use docker. You can build the top-level docker file:

docker build -t miopen .

Then to enter the developement environment use `docker run`:

docker run --device='/dev/kfd' --device='/dev/dri' -v=`pwd`:/data -w /data --group-add video -it miopen
2 changes: 1 addition & 1 deletion doc/src/cache.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ MIOpen will cache binary kernels to disk, so they don't need to be compiled the
Clear the cache
---------------

The cache can be cleared by simply deleting the cache directory(ie `$HOME/.cache/miopen`). This should only be needed for development purposes or to free disk space. The cache does not need to be cleared when upgrading MIOpen.
The cache can be cleared by simply deleting the cache directory (i.e., `$HOME/.cache/miopen`). This should only be needed for development purposes or to free disk space. The cache does not need to be cleared when upgrading MIOpen.

Disabling the cache
-------------------
Expand Down
15 changes: 15 additions & 0 deletions doc/src/perfdatabase.md
Original file line number Diff line number Diff line change
Expand Up @@ -11,6 +11,9 @@ MIOpen performs Exhaustive Search only if explicitly requested via MIOpen API an

The optimized solution found during the successful Search process is written into the PerfDb for future re-use. That is why MIOpen will not Search for optimized solution more than once for a given problem in this mode.

See documentation about miopenFind*() API calls for more info on how Search can be explicitly requested.


**DB_UPDATE (2)**

Similar to NONE, but Search will NOT be skipped if PerfDb contains relevant record. If Search is requested via MIOpen API, then MIOpen will perform the Search and update PerfDb.
Expand All @@ -34,3 +37,15 @@ Note: This mode is intended for tuning the MIOpen installation. When MIOpen is i
**DB_CLEAN (5)**

MIOpen removes relevant records from the PerfDb instead of just reading and using those. Search is blocked, even if explicitly requested.

## MIOPEN_FIND_ENFORCE_SCOPE

This variable allows to limit the scope of `MIOPEN_FIND_ENFORCE`, so that only forward, backward data or backward weights convolutions will be affected. Both symbolic and numeric values are supported, as shown below.

**ALL (1)** `MIOPEN_FIND_ENFORCE` affects all convolutions. This is the default.

**CONV_FWD (2)** `MIOPEN_FIND_ENFORCE` affects only Forward convolutions.

**CONV_BWD (3)** `MIOPEN_FIND_ENFORCE` affects only Backward Data convolutions.

**CONV_WRW (4)** `MIOPEN_FIND_ENFORCE` affects only Backward With Regard to Weights (a.k.a WRW) convolutions.
33 changes: 33 additions & 0 deletions doc/src/releasenotes.md
Original file line number Diff line number Diff line change
@@ -1,6 +1,39 @@

## MIOpen Release notes

### 03/30/2018 [ 1.3.0 ]

Notes:

- Performance improvements for RNNs
- Performance improvements for convolutions using 1x1 filters
- Performance improvement for Batch Normalization
- This release adds preliminary fp16 support for Inference using CNNs
- Bug fixes for various components of MIOpen

Changes:

- Added 2 new API for RNNs: miopenGetRNNLayerParamOffset and miopenGetRNNLayerBiasOffset
- Added support for uninitialized hidden states and nullptr outputs in RNNs
- Added support for Set and Scale operations for strided tensors with dimensions 1 to 5
- Added multi-thread and multi-process support for the performance database
- Improved performance for OpTensor
- Fixed bug in convolutions for backward bias
- Fixed logic issues in get and set layer functions and related w_supertensor test
- Fixed hang in batch norm with batch sizes greater than 256

Known Issues:

- RNNs do not support fp16
- Training with CNNs does not support fp16


### 03/08/2018 [ 1.2.1 ]

Notes:

- This release adds support for ROCm 1.7.1.


### 12/15/2017 [ 1.2.0 ]

Expand Down
12 changes: 11 additions & 1 deletion doc/src/rnn.rst
Original file line number Diff line number Diff line change
Expand Up @@ -51,7 +51,6 @@ miopenGetRNNDescriptor
.. doxygenfunction:: miopenGetRNNDescriptor



miopenDestroyRNNDescriptor
--------------------------

Expand Down Expand Up @@ -135,6 +134,17 @@ miopenSetRNNLayerBias

.. doxygenfunction:: miopenSetRNNLayerBias

miopenGetRNNLayerParamOffset
----------------------------

.. doxygenfunction:: miopenGetRNNLayerParamOffset


miopenGetRNNLayerBiasOffset
---------------------------

.. doxygenfunction:: miopenGetRNNLayerBiasOffset

miopenRNNForwardTraining
------------------------

Expand Down
Loading

0 comments on commit 08114ba

Please sign in to comment.