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

50 Коммитов

Автор SHA1 Сообщение Дата
Bowen Bao f1781446d1 Support CUDA 10
* Move to support CUDA 10, cudnn 7.3, cub 1.8.
* Fixed a bug related to "pointer to pin pointer is disallowed" #3063,
which is exposed in newer version vctools.
* Added workaround for a potential vs2017 15.9 bug with cntk Debug
version.
2018-12-12 16:10:31 -08:00
liqfu 82d350d0ac bump up version number 2018-09-13 15:52:47 -07:00
Thiago Crepaldi e2375594e0 Bump release version to 2.5.1 2018-04-17 16:06:45 -07:00
Thiago Crepaldi 34ed567744 Preparing Release 2.5 - bump version number 2018-03-16 15:21:38 -07:00
Mark Hamilton 6a8773bcf2 Bump pom.xml version 2018-03-04 16:23:49 -05:00
Mark Hamilton de52f5046a Update pom.xml 2018-03-04 16:23:49 -05:00
Ratan Rai Sur 0b118c86a5 Enable scripted maven release
rename maven-deploy
2018-03-04 16:23:49 -05:00
Ratan Rai Sur 21a71fc384 update groupID to match maven groupid
add more maven deploy changes
2018-03-04 16:23:49 -05:00
Ratan Rai Sur 7d8e135899 add pom.xml for maven central publishing 2018-03-04 16:23:49 -05:00
Mark Hamilton d1925a19d8 Fix dependency loading in java 2018-02-26 15:28:20 -05:00
marhamil723 85698681dd fix variable 2018-01-29 13:53:32 -05:00
marhamil723 166c8bccc2 add debug dll support 2018-01-29 11:12:37 -05:00
Mark Hamilton be931c8038 Update post-build.cmd 2018-01-29 10:56:45 -05:00
Manik Jindal ba9c2e7f9d Fix build if optional MKLDNN is not present 2018-01-28 11:27:32 -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
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
marhamil723 8e36d30dfe rename tmpdir 2017-10-13 10:55:08 -04:00
Ratan Rai Sur 00ced218d0 use CNTKNativeUtils load in java 2017-10-13 10:55:08 -04:00
marhamil723 4c56af0030 cudnn64_5 -> cudnn64_6 2017-10-13 10:55:08 -04:00
marhamil723 e0c0ec707e fix sln, and make post-build give better message 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
Ratan Rai Sur 8a61d67e7a fix combine java impl
The line inside the loop in the java idiomatic wrapper refers to
the wrong variable.
2017-10-11 13:53:36 -04:00
hecli 96cdd12883 Bump version numbers 2017-09-18 10:58:47 -07:00
Mark Hillebrand dd74af7e7e Bump version numbers 2017-07-31 17:55:45 +02:00
Mark Hillebrand a2b4997796 Tools/devInstall/Linux/install-swig.sh: added
Moved and refreshed from bindings/python/swig_install.sh. Install
location now is /usr/local/swig-*, which ./configure picks up
automatically.

Specify --without-alllang for SWIG build, which should suppress building
tests and examples for specific languages.

Windows: Update source setup links for SWIG
2017-07-07 13:16:12 +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
Mark Hillebrand 288f7d1144 bindings/java/Swig/CNTKLibraryJavaBinding.vcxproj: change link 2017-05-24 14:01:23 +02:00
Mark Hillebrand 8dc56e2d7c Bump version numbers 2017-05-24 14:01:23 +02:00
Zhou Wang d97f5f195e avoid to create garbage Java types during mapping 2017-05-19 19:28:24 +02:00
Zhou Wang caf19bc07b fix bug 2017-05-19 19:27:59 +02:00
Zhou Wang 3f7f747dfa fix some mappings 2017-05-19 17:55:11 +02:00
Ratan Rai Sur 8b5035cc94 fix gc bug in java 2017-05-19 08:06:48 +02:00
Ratan Rai Sur 8c7cdd85ba fix Java Function wrapper logic 2017-05-19 08:01:28 +02:00
Ratan Rai Sur 3ff60aa71a native java impl for findAllWithName 2017-05-19 08:01:27 +02:00
Zhou Wang c77649fbfb further refactoring common bindings 2017-05-18 22:04:34 +02:00
Zhou Wang d0451cfa93 fix bugs in java bindings; remove unneeded intermediate mapping in java 2017-05-18 22:04:34 +02:00
Zhou Wang 6962df5175 add macros for java
fix leftover from rebase

consolidate C#/Java bindings

use capital letters as macro names; consolidate java/c# bindings; format changes
2017-05-18 22:04:34 +02:00
Ratan Rai Sur 8749322dbf add C# and JAVA API convenience macros, lowercase java
these macros handle getters and making methods private for
further custom implementation
also makes many java methods lowercase
2017-05-16 17:31:35 -04:00
Zhou Wang 81de34dbcf enable WarningAsError both for SWIG and C++ wrapper project 2017-05-15 10:58:54 +02:00
Zhou Wang 1515c3df02 suppress C warning C4267 in C++ wrapper for Java binding created by SWIG 2017-05-15 10:58:54 +02:00
Zhou Wang 46d6921ce8 fix java warnings 2017-05-15 10:58:54 +02:00
Zhou Wang e2f07b9c55 fix SWIG warning 503 for operator == 2017-05-15 10:58:53 +02:00
Zhou Wang 6866c4cac5 add CNTKWarnFilters.i to project files 2017-05-15 10:56:24 +02:00
Zhou Wang 3012d7bd17 remove some 302 warnings 2017-05-15 10:56:24 +02:00
Zhou Wang 2d6ab4d986 ren CNTK_ExceptionHandling to CNTKExceptionHandling for consistence 2017-05-12 18:28:48 +02:00
Zhou Wang 361ff8ae2d use SWIGPYTHON for cases only applied for python binding 2017-05-12 18:28:47 +02:00
marhamil723 f1d385d801 re-adding preprocessor commands to build 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