Граф коммитов

469 Коммитов

Автор SHA1 Сообщение Дата
Project Philly 950ac47a0b Integrate jaliyaek/config into master 2018-01-28 12:25:33 +00:00
jaliyaek dd47e2193d Making Halide default in Jenkin builds 2018-01-26 17:17:58 -08:00
Manik Jindal 343f38350a Remove Python 3.4 support 2018-01-26 14:55:22 -08:00
jaliyaek a7a52d7402 Adding halide based binary convolution operators and its dependancies 2018-01-24 16:41:17 -08:00
KeDengMS 3cf3af5df6 CNTK support for CUDA 9
CNTK now supports CUDA 9/cuDNN 7. This requires an update to build environment to Ubuntu 16/GCC 5 for Linux, and Visual Studio 2017/VCTools 14.11 for Windows. With CUDA 9, CNTK also added a preview for 16-bit floating point (a.k.a FP16) computation.

Please check out the example of FP16 in ResNet50 at /Examples/Image/Classification/ResNet/Python/TrainResNet_ImageNet_Distributed.py

Notes on FP16 preview:
* FP16 implementation on CPU is not optimized, and it's not supposed to be used in CPU inference directly. User needs to convert the model to 32-bit floating point before running on CPU.
* Loss/Criterion for FP16 training needs to be 32bit for accumulation without overflow, using cast function. Please check the example above.
* Readers do not have FP16 output unless using numpy to feed data, cast from FP32 to FP16 is needed. Please check the example above.
* FP16 gradient aggregation is currently only implemented on GPU using NCCL2. Distributed training with FP16 with MPI is not supported.
* FP16 math is a subset of current FP32 implementation. Some model may get Feature Not Implemented exception using FP16.
* FP16 is currently not supported in BrainScript. Please use Python for FP16.

To setup build and runtime environment on Windows:
* Install [Visual Studio 2017](https://www.visualstudio.com/downloads/) with following workloads and components. From command line (use Community version installer as example):
    vs_community.exe --add Microsoft.VisualStudio.Workload.NativeDesktop --add Microsoft.VisualStudio.Workload.ManagedDesktop --add Microsoft.VisualStudio.Workload.Universal --add Microsoft.Component.PythonTools --add Microsoft.VisualStudio.Component.VC.Tools.14.11
* Install [NVidia CUDA 9](https://developer.nvidia.com/cuda-90-download-archive?target_os=Windows&target_arch=x86_64)
* From PowerShell, run:
    /Tools/devInstall/Windows/DevInstall.ps1
* Start VCTools 14.11 command line, run:
    cmd /k "%VS2017INSTALLDIR%\VC\Auxiliary\Build\vcvarsall.bat" x64 --vcvars_ver=14.11
* Open /CNTK.sln from the VCTools 14.11 command line. Note that starting CNTK.sln other than VCTools 14.11 command line, would causes CUDA 9 [build error](https://developercommunity.visualstudio.com/content/problem/163758/vs-2017-155-doesnt-support-cuda-9.html).

To setup build and runtime environment on Linux using docker, please build Unbuntu 16.04 docker image using Dockerfiles /Tools/docker. For other Linux systems, please refer to the Dockerfiles to setup dependent libraries for CNTK.
2018-01-22 16:58:56 -08:00
Vadim Mazalov 13206a413b Add lattice index builder to makefile 2018-01-12 10:59:39 -08:00
Vadim Mazalov 2758a8c15d Lattice reader, cont 2018-01-12 10:51:49 -08:00
Lee Namgoo 959f1c8c04 Fixes #2704 (#2805) 2018-01-12 00:34:03 -08:00
Manik Jindal 95d88730b2 Bump version to 2.3.1 and update release notes.
commit b906b2e94748f0303f4e4f41e860d882ab434a57
Author: Manik Jindal <manikj@microsoft.com>
Date:   Tue Dec 5 18:35:02 2017 -0800

    Add whl and NuGet package links in README.md

commit 5f4ff237c5ee3a449577ec29cbf93d64273c562a
Author: Manik Jindal <manikj@microsoft.com>
Date:   Tue Dec 5 09:48:37 2017 -0800

    Bump version 2.3 to 2.3.1

commit 1d0f37072524ad1a6de36bedf43359e0596c7382
Author: Manik Jindal <manikj@microsoft.com>
Date:   Tue Dec 5 00:26:26 2017 -0800

    Add release notes

commit 78b941b3e4e8c345bd6e8e45b6180ff624756d27
Author: Manik Jindal <manikj@microsoft.com>
Date:   Tue Dec 5 00:19:23 2017 -0800

    Bump version from 2.3 to 2.3.1
2017-12-05 21:15:50 -08:00
liqfu 744871f52e integrate with LotusRT 2017-11-29 17:51:27 -08:00
Jacob DeWitt 07fcce92f8 First version of C API for evaluation, taking over Jacob's branch. 2017-11-29 16:16:38 +01:00
Manik Jindal 7579742935 Bump version from 2.2 to 2.3 2017-11-22 19:37:04 -08:00
Manik Jindal e4b8e85ef3 Remove OpenCV dependency from CNTK core
commit aecc380d21e04e803d683e25af2aac42c1a90125
Author: Manik Jindal <manikj@microsoft.com>
Date:   Thu Nov 16 15:03:13 2017 -0800

    Remove OpenCV dependency from CNTK core

    Tensorboard's Image feature has a hard dependency on OpenCV and
    Tensorboard is a part of CNTK core. Removing this hard dependency
    by creating a new DLL ImageWriter just to write an image an PNG.
2017-11-16 18:11:33 -08:00
liqfu 578c1898a0 Integrating LotusIR and a few CNTK-ONNX fixes 2017-11-15 21:44:46 -08:00
KeDengMS fbe030b0dc Switch from CNTKCustomMKL to Intel MKLML. MKLML is released with [Intel MKL-DNN](https://github.com/01org/mkl-dnn/releases) as a trimmed version of Intel MKL for MKL-DNN. To set it up:
On Linux:

    sudo mkdir /usr/local/mklml
    sudo wget https://github.com/01org/mkl-dnn/releases/download/v0.11/mklml_lnx_2018.0.1.20171007.tgz
    sudo tar -xzf mklml_lnx_2018.0.1.20171007.tgz -C /usr/local/mklml

On Windows:

    Create a directory on your machine to hold MKLML, e.g. mkdir c:\local\mklml
    Download the file [mklml_win_2018.0.1.20171007.zip](https://github.com/01org/mkl-dnn/releases/download/v0.11/mklml_win_2018.0.1.20171007.zip).
    Unzip it into your MKLML path, creating a versioned sub directory within.
    Set the environment variable `MKLML_PATH` to the versioned sub directory, e.g. setx MKLML_PATH c:\local\mklml\mklml_win_2018.0.1.20171007

This change also enables CPU convolution forward/backward using MKL, which leads to ~4x speedup in AlexNet training.
2017-11-10 11:48:16 -08:00
Ratan Rai Sur 1280bdeb7a make java so variable names in makefile less confusing 2017-10-13 10:55:08 -04:00
Ratan Rai Sur 78ee54d1e9 use correct mkl lib path for jar 2017-10-13 10:55:07 -04:00
marhamil723 0d1834f103 add DLL's and so's to jar (squashed)
minor fixes

fixing Native utils path, loader, and the Native Load Utils

remove path and classpath setting in tests

cleaning up native utils

Unified CNTKNativeUtils class. Changed the code generation to use CNTKNativeUtils directly instead of the intermediary CNTK.init().

adding fixes to post bild

Added NATIVE_LOAD_MANIFEST for the cases when only specific high-level libraries should be loaded

linux side

Add gpu support

linux gpu .so copying
2017-10-13 10:55:07 -04:00
Emad Barsoum d57ad1d673 Adding ONNX format support to CNTK. 2017-10-10 01:01:43 -07:00
hecli 96cdd12883 Bump version numbers 2017-09-18 10:58:47 -07:00
duli1 42b2e68d87 Squashed commit of the following:
commit fb1ef6a11cd5d31484c0a229f2ec813ddc885a08
Author: duli1 <duli1@DU-LI-WS>
Date:   Fri Aug 25 10:02:23 2017 -0700

    Tensorboard image feature

commit a5584c245b6c8d6b4b31bacd8ac1dc3ed9242463
Author: duli1 <duli1@DU-LI-WS>
Date:   Fri Aug 25 10:02:23 2017 -0700

    Tensorboard image feature
2017-09-05 21:31:31 -07:00
Zhou Wang 364dd8f69f Update CPP Eval Examples; update UWP Eval tests; Add more examples in
C#; and various fixes

Details:

fix wrong link

use /Zo option instead of undocumented /d2Zi+; remove /d2Zi+ for debug build;

move EvalMultithreads.cpp into Tests/EndToEndTests/EvalClientsTests/CNTKLibraryCPPEvalExamplesTests as preparation for the new CPP examples

add new CNTKLibraryCPPEvalExamples

use stdout

add first sample in CPPEvalExamples

add parallel evaluation examples

complete cpp examples

adapt linux build

add CPP tests to UWP

enable more tests on UWP

add running new tests; update baseline

add new cpp exampels to CNTKLibraryExamples.sln; use stdout instead of stderr in legacy eval dll; add missing cs examples

add file types for UWP

flush stdout to make cygwin happy

update baseline file for CPPUWPEval

update baseline for CNTKLibraryCSEvalExamplesTest
2017-08-29 22:17:50 +02:00
Alexey Reznichenko 65471cdcd9 Add Proposal Layer as a native UDF 2017-08-19 10:03:10 +02:00
Mark Hillebrand 11e593d085 Remove the block multiplier code, as it isn't used right now.
Closes #1805.
2017-08-07 10:42:02 +02:00
Mark Hillebrand dd74af7e7e Bump version numbers 2017-07-31 17:55:45 +02:00
Eldar Akchurin 32cbf7071b Prohibiting infinite minibatch sources with training session 2017-07-26 14:37:50 +02:00
Alexey Reznichenko 93cc8c40db Add index caching
* Refactor index data structures and rewrite indexers (with most changes
    in the text index builder).
  * Add best effort caching: the cache is written out asynchronously in a
    separate thread, on restart the index builder tries to restore the
    index from cache (as long as the cache is not older than the input
    file) and goes back no normal indexing if that fails (i.e., the cache
    is corrupt).
  * Refactor and simplify MemoryBuffer (renamed to BufferedFileReader).
  * Use KMP patter-matching to simply sample counting with non-empty main
    stream (num samples in sequence = number of lines that contain main
    stream name).
  * Refactor and simplify MLFIndexBuilder (it now also uses
    BufferedFileReader)
  * Use 512KB chunks when loading index from cache for faster reading.
  * Add a number of unit tests for the indexing both with and without
    caching.
2017-07-25 10:11:25 +02:00
Eldar Akchurin d542921556 Adding python user deserializer 2017-07-24 15:10:59 +02:00
Ivan Rodriguez 84e74c899b addressing comments in CR 2017-07-19 10:34:11 +02:00
Wolfgang Manousek 2021b2bc3e remove compute_52 and sm_52 2017-07-13 17:34:02 +02:00
Wolfgang Manousek 8cd36ce385 more CR comments addressed 2017-07-13 17:34:02 +02:00
Wolfgang Manousek 4c2f93c658 addressed CR 2017-07-13 17:34:02 +02:00
Wolfgang Manousek ce44b81f70 minor improvement/fixes 2017-07-13 17:34:01 +02:00
Wolfgang Manousek bfc662de0a added compilation for compute 5.2,6.0 and 6.1 2017-07-13 17:34:01 +02:00
Wolfgang Manousek 2582b9ee91 addressed CR comments 2017-06-07 16:50:37 +02:00
Wolfgang Manousek 5ecc834722 updating links to old wiki - referencing now the doc site 2017-06-07 15:55:34 +02:00
Mark Hillebrand d6b55e28af Bump version numbers 2017-06-01 15:12:14 +02:00
Amit Agarwal 71b8a35771 CNTK v2 library: Add Binary convolution native user-defined Function library. 2017-05-27 22:52:08 -07:00
Mark Hillebrand 8dc56e2d7c Bump version numbers 2017-05-24 14:01:23 +02:00
Eldar Akchurin 98ac0be1c2 Ability to choose mbsize based on stream 2017-05-18 18:02:37 +02:00
Zhou Wang dd91e95512 remove -DSWIG from javabidning on Linux 2017-05-12 18:28:47 +02:00
Ratan Rai Sur 9dc60f2c80 add -DSWIG to java c++ wrapper compilation for compatibility with udf serialization 2017-05-10 00:20:19 -04:00
Ratan Rai Sur c6de4db35a Java Bindings (squashed)
adding some doc

use $$

add comments

automatically loadLibrary in java

semicolon

removing .iml

add more dependencies

move java static block code to cntk_java.i

remove also class files.

Adding .java files to jar

changing test location

typo

ignore DeviceDescriptorVector size constructor

DRY in Main.java

use List interface instead of ArrayList implementation

moving test location, expanding tests to gpu, fixing comments

move linux java tests

updating baseline.txt
2017-05-10 00:20:18 -04:00
Alexey Reznichenko 5bc3661988 Improve UDF serialization
* Add a base class for User-Defined Functions
  * Add support for native udf serialization
  * Change API to accept std::function callbacks
2017-05-09 10:08:23 +02:00
Mark Hillebrand a1e10ff9e7 Bump version numbers 2017-04-21 15:58:00 +02:00
Eldar Akchurin ed2f97311c Fixing compilation of CPUMatrix on Windows: heap overflow fixed 2017-04-19 10:59:53 +02:00
Amit Agarwal c7c2547f55 CNTK v2 library: Fixed handling of references of existing netowrk matrix storage handed out from Forward/Backward 2017-04-14 01:33:24 -07:00
Amit Agarwal 1f23f6e161 CNTK v2 library: Add ability to register and instantiate native C++ user-defined functions from python 2017-04-14 01:33:24 -07:00
Project Philly 5a25d3ecce Integrate jqian/wip/gdr into master 2017-04-13 16:23:44 -07:00
Junjie Qian bc04458bda Do gradients allreduce aggregation with GPUDirect RDMA
1. Iallreduce with cuda-aware not supported
ref: https://www.open-mpi.org/faq/?category=runcuda#mpi-apis-no-cuda
2017-04-13 09:16:37 -07:00