diff --git a/.gitignore b/.gitignore index c98f56c972bc..f0e194758975 100644 --- a/.gitignore +++ b/.gitignore @@ -61,3 +61,12 @@ mshadow data recommonmark bin + +# msvc +*.pdb +*.sdf +*.opensdf +*.deps +*.cache +*.exp +mxnet.egg-info/ \ No newline at end of file diff --git a/example/mnist/data.py b/example/mnist/data.py index 38f71263ea3f..f533ada0c859 100644 --- a/example/mnist/data.py +++ b/example/mnist/data.py @@ -1,8 +1,10 @@ # pylint: skip-file """ data iterator for mnist """ import sys -sys.path.insert(0, "../../python/") -sys.path.append("../../tests/python/common") +import os +curr_path = os.path.dirname(os.path.abspath(os.path.expanduser(__file__))) +sys.path.insert(0, os.path.join(curr_path, "../../python/")) +sys.path.append(os.path.join(curr_path, "../../tests/python/common")) import get_data import mxnet as mx diff --git a/python/mxnet/libinfo.py b/python/mxnet/libinfo.py index 821d33e5bce2..030f2eb7436e 100644 --- a/python/mxnet/libinfo.py +++ b/python/mxnet/libinfo.py @@ -16,10 +16,11 @@ def find_lib_path(): api_path = os.path.join(curr_path, '../../lib/') dll_path = [curr_path, api_path] if os.name == 'nt': + vs_configuration = 'Release' if platform.architecture()[0] == '64bit': - dll_path.append(os.path.join(api_path, '../../windows/x64/Release/')) + dll_path.append(os.path.join(curr_path, '../../windows/x64', vs_configuration)) else: - dll_path.append(os.path.join(api_path, '../../windows/Release/')) + dll_path.append(os.path.join(curr_path, '../../windows', vs_configuration)) if os.name == 'nt': dll_path = [os.path.join(p, 'mxnet.dll') for p in dll_path] else: diff --git a/src/common/object_pool.h b/src/common/object_pool.h index 0306ed6ef355..5787f53ff497 100644 --- a/src/common/object_pool.h +++ b/src/common/object_pool.h @@ -157,8 +157,13 @@ void ObjectPool::AllocateChunk() { static_assert(alignof(LinkedList) % alignof(T) == 0, "ObjectPooll Invariant"); static_assert(kPageSize % alignof(LinkedList) == 0, "ObjectPooll Invariant"); void* new_chunk_ptr; +#ifdef _MSC_VER + new_chunk_ptr = _aligned_malloc(kPageSize, kPageSize); + CHECK_NE(new_chunk_ptr, NULL) << "Allocation failed"; +#else int ret = posix_memalign(&new_chunk_ptr, kPageSize, kPageSize); CHECK_EQ(ret, 0) << "Allocation failed"; +#endif allocated_.emplace_back(new_chunk_ptr); auto new_chunk = static_cast(new_chunk_ptr); auto size = kPageSize / sizeof(LinkedList); diff --git a/src/io/image_augmenter.h b/src/io/image_augmenter.h index cd50c5e10b08..b76b8da4650e 100644 --- a/src/io/image_augmenter.h +++ b/src/io/image_augmenter.h @@ -114,6 +114,9 @@ class ImageAugmenter { } } #if MXNET_USE_OPENCV +#ifdef _MSC_VER +#define M_PI CV_PI +#endif /*! * \brief augment src image, store result into dst * this function is not thread safe, and will only be called by one thread diff --git a/src/io/iter_mnist.cc b/src/io/iter_mnist.cc index 89fb7efb026f..7ba717b1c7f9 100644 --- a/src/io/iter_mnist.cc +++ b/src/io/iter_mnist.cc @@ -171,7 +171,11 @@ class MNISTIter: public IIterator { unsigned char buf[4]; CHECK(fi->Read(buf, sizeof(buf)) == sizeof(buf)) << "invalid mnist format"; +#ifdef _MSC_VER + return (buf[0] << 24 | buf[1] << 16 | buf[2] << 8 | buf[3]); +#else return reinterpret_cast(buf[0] << 24 | buf[1] << 16 | buf[2] << 8 | buf[3]); +#endif } private: diff --git a/src/storage/cpu_device_storage.h b/src/storage/cpu_device_storage.h index 82aa0e7573f6..6838af037535 100644 --- a/src/storage/cpu_device_storage.h +++ b/src/storage/cpu_device_storage.h @@ -39,7 +39,9 @@ class CPUDeviceStorage { inline void* CPUDeviceStorage::Alloc(size_t size) { #if _MSC_VER - return CHECK_NOTNULL(_aligned_malloc(size, alignment_)); + void* ptr; + ptr = _aligned_malloc(size, alignment_); + return CHECK_NOTNULL(ptr); #else void* ptr; int ret = posix_memalign(&ptr, alignment_, size); @@ -48,7 +50,13 @@ inline void* CPUDeviceStorage::Alloc(size_t size) { #endif } -inline void CPUDeviceStorage::Free(void* ptr) { free(ptr); } +inline void CPUDeviceStorage::Free(void* ptr) { +#if _MSC_VER + _aligned_free(ptr); +#else + free(ptr); +#endif +} } // namespace storage } // namespace mxnet diff --git a/windows/3rdparty/.gitignore b/windows/3rdparty/.gitignore new file mode 100644 index 000000000000..5e7d2734cfc6 --- /dev/null +++ b/windows/3rdparty/.gitignore @@ -0,0 +1,4 @@ +# Ignore everything in this directory +* +# Except this file +!.gitignore diff --git a/windows/README.md b/windows/README.md new file mode 100644 index 000000000000..f9a2ec4d189a --- /dev/null +++ b/windows/README.md @@ -0,0 +1,32 @@ +Build in Visual Studio 2013 +================= + +Prepare +--------- + +1. Download 3rdparty libraries form [BaiduYun](http://pan.baidu.com/s/1x7fw6) or [OneDrive](Not available now), and extract the files into `3rdparty` + +2. Download and install [Nov 2013 CTP](http://www.microsoft.com/en-us/download/details.aspx?id=41151), [PTVS](https://github.com/Microsoft/PTVS/releases). + +3. Copy all files in `C:\Program Files (x86)\Microsoft Visual C++ Compiler Nov 2013 CTP` to `C:\Program Files (x86)\Microsoft Visual Studio 12.0\VC` and overwrite all existed files (of course, backup them before copying). + +Build +---------- +1. Open mxnet.sln. + +2. Switch the compile mode to Release and x64. + +3. If you have MKL, please modify the include/library configs and set three preprocess macro to: + - MSHADOW_USE_CBLAS=0 + - MSHADOW_USE_MKL=1 + - USE_STATIC_MKL=1 + +4. Modify the cuda device compute capability defined in the settings (`mxnet properties` -> `CUDA C/C++` -> `Device` -> `Code Generation`) to your GPU's compute capability (such as compute_30,sm_30). You can look up for your GPU's compute capability in https://en.wikipedia.org/wiki/CUDA . Some general GPUs' compute capabilities are listed below. + +5. Compile. + +| GPU | Compute Capability | +| ------------------------------------------- |:---------------------:| +| GTX660, 680, 760, 770 | compute_30,sm_30 | +| GTX780, Titan Z, Titan Black, K20, K40 | compute_35,sm_35 | +| GTX960, 980, Titan X | compute_52,sm_52 | diff --git a/windows/im2rec/im2rec.vcxproj b/windows/im2rec/im2rec.vcxproj new file mode 100644 index 000000000000..7a101f329319 --- /dev/null +++ b/windows/im2rec/im2rec.vcxproj @@ -0,0 +1,162 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + + + + {CF267D06-BE5D-4303-A013-33BBC076809F} + im2rec + + + + Application + true + MultiByte + v120 + + + Application + true + MultiByte + v120 + + + Application + false + true + MultiByte + v120 + + + Application + false + true + MultiByte + v120 + + + + + + + + + + + + + + + + + + + + true + + + true + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + true + Console + cudart.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + echo copy "$(CudaToolkitBinDir)\cudart*.dll" "$(OutDir)" +copy "$(CudaToolkitBinDir)\cudart*.dll" "$(OutDir)" + + + + + Level3 + Disabled + WIN32;WIN64;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + true + Console + cudart.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + echo copy "$(CudaToolkitBinDir)\cudart*.dll" "$(OutDir)" +copy "$(CudaToolkitBinDir)\cudart*.dll" "$(OutDir)" + + + 64 + + + + + Level3 + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + true + true + true + Console + cudart.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + echo copy "$(CudaToolkitBinDir)\cudart*.dll" "$(OutDir)" +copy "$(CudaToolkitBinDir)\cudart*.dll" "$(OutDir)" + + + + + Level3 + MaxSpeed + true + true + WIN32;WIN64;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + ../../dmlc-core/include;../../mshadow;../../include;D:\deepLearning\caffe-windows\3rdparty\include;%(AdditionalIncludeDirectories);$(CudaToolkitIncludeDir) + + + true + true + true + Console + dmlc.lib;mxnet.lib;opencv_world300.lib;cudart.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + D:\deepLearning\caffe-windows\3rdparty\lib;..\..\windows\x64\Release;%(AdditionalLibraryDirectories);$(CudaToolkitLibDir) + + + + + + + 64 + + + + + + + \ No newline at end of file diff --git a/windows/mxnet.sln b/windows/mxnet.sln new file mode 100644 index 000000000000..72d8948111de --- /dev/null +++ b/windows/mxnet.sln @@ -0,0 +1,80 @@ + +Microsoft Visual Studio Solution File, Format Version 12.00 +# Visual Studio 2013 +VisualStudioVersion = 12.0.21005.1 +MinimumVisualStudioVersion = 10.0.40219.1 +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "mxnet", "mxnet\mxnet.vcxproj", "{15D3B5AC-7EF8-422E-BB67-69F06BA394C3}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "dmlc", "..\dmlc-core\windows\dmlc\dmlc.vcxproj", "{6E6DDA36-69BA-4555-BA88-10166B11F2D2}" +EndProject +Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "im2rec", "im2rec\im2rec.vcxproj", "{CF267D06-BE5D-4303-A013-33BBC076809F}" +EndProject +Project("{888888A0-9F3D-457C-B088-3A5042F75D52}") = "python", "python\python.pyproj", "{1FC98FC2-84C9-4253-85B5-7BCC90D8F2E4}" +EndProject +Global + GlobalSection(SolutionConfigurationPlatforms) = preSolution + Debug|Any CPU = Debug|Any CPU + Debug|Mixed Platforms = Debug|Mixed Platforms + Debug|Win32 = Debug|Win32 + Debug|x64 = Debug|x64 + Release|Any CPU = Release|Any CPU + Release|Mixed Platforms = Release|Mixed Platforms + Release|Win32 = Release|Win32 + Release|x64 = Release|x64 + EndGlobalSection + GlobalSection(ProjectConfigurationPlatforms) = postSolution + {15D3B5AC-7EF8-422E-BB67-69F06BA394C3}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {15D3B5AC-7EF8-422E-BB67-69F06BA394C3}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 + {15D3B5AC-7EF8-422E-BB67-69F06BA394C3}.Debug|Mixed Platforms.Build.0 = Debug|Win32 + {15D3B5AC-7EF8-422E-BB67-69F06BA394C3}.Debug|Win32.ActiveCfg = Debug|Win32 + {15D3B5AC-7EF8-422E-BB67-69F06BA394C3}.Debug|Win32.Build.0 = Debug|Win32 + {15D3B5AC-7EF8-422E-BB67-69F06BA394C3}.Debug|x64.ActiveCfg = Debug|x64 + {15D3B5AC-7EF8-422E-BB67-69F06BA394C3}.Debug|x64.Build.0 = Debug|x64 + {15D3B5AC-7EF8-422E-BB67-69F06BA394C3}.Release|Any CPU.ActiveCfg = Release|Win32 + {15D3B5AC-7EF8-422E-BB67-69F06BA394C3}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {15D3B5AC-7EF8-422E-BB67-69F06BA394C3}.Release|Mixed Platforms.Build.0 = Release|Win32 + {15D3B5AC-7EF8-422E-BB67-69F06BA394C3}.Release|Win32.ActiveCfg = Release|Win32 + {15D3B5AC-7EF8-422E-BB67-69F06BA394C3}.Release|Win32.Build.0 = Release|Win32 + {15D3B5AC-7EF8-422E-BB67-69F06BA394C3}.Release|x64.ActiveCfg = Release|x64 + {15D3B5AC-7EF8-422E-BB67-69F06BA394C3}.Release|x64.Build.0 = Release|x64 + {6E6DDA36-69BA-4555-BA88-10166B11F2D2}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {6E6DDA36-69BA-4555-BA88-10166B11F2D2}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 + {6E6DDA36-69BA-4555-BA88-10166B11F2D2}.Debug|Mixed Platforms.Build.0 = Debug|Win32 + {6E6DDA36-69BA-4555-BA88-10166B11F2D2}.Debug|Win32.ActiveCfg = Debug|Win32 + {6E6DDA36-69BA-4555-BA88-10166B11F2D2}.Debug|Win32.Build.0 = Debug|Win32 + {6E6DDA36-69BA-4555-BA88-10166B11F2D2}.Debug|x64.ActiveCfg = Debug|x64 + {6E6DDA36-69BA-4555-BA88-10166B11F2D2}.Debug|x64.Build.0 = Debug|x64 + {6E6DDA36-69BA-4555-BA88-10166B11F2D2}.Release|Any CPU.ActiveCfg = Release|Win32 + {6E6DDA36-69BA-4555-BA88-10166B11F2D2}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {6E6DDA36-69BA-4555-BA88-10166B11F2D2}.Release|Mixed Platforms.Build.0 = Release|Win32 + {6E6DDA36-69BA-4555-BA88-10166B11F2D2}.Release|Win32.ActiveCfg = Release|Win32 + {6E6DDA36-69BA-4555-BA88-10166B11F2D2}.Release|Win32.Build.0 = Release|Win32 + {6E6DDA36-69BA-4555-BA88-10166B11F2D2}.Release|x64.ActiveCfg = Release|x64 + {6E6DDA36-69BA-4555-BA88-10166B11F2D2}.Release|x64.Build.0 = Release|x64 + {CF267D06-BE5D-4303-A013-33BBC076809F}.Debug|Any CPU.ActiveCfg = Debug|Win32 + {CF267D06-BE5D-4303-A013-33BBC076809F}.Debug|Mixed Platforms.ActiveCfg = Debug|Win32 + {CF267D06-BE5D-4303-A013-33BBC076809F}.Debug|Mixed Platforms.Build.0 = Debug|Win32 + {CF267D06-BE5D-4303-A013-33BBC076809F}.Debug|Win32.ActiveCfg = Debug|Win32 + {CF267D06-BE5D-4303-A013-33BBC076809F}.Debug|Win32.Build.0 = Debug|Win32 + {CF267D06-BE5D-4303-A013-33BBC076809F}.Debug|x64.ActiveCfg = Debug|x64 + {CF267D06-BE5D-4303-A013-33BBC076809F}.Debug|x64.Build.0 = Debug|x64 + {CF267D06-BE5D-4303-A013-33BBC076809F}.Release|Any CPU.ActiveCfg = Release|Win32 + {CF267D06-BE5D-4303-A013-33BBC076809F}.Release|Mixed Platforms.ActiveCfg = Release|Win32 + {CF267D06-BE5D-4303-A013-33BBC076809F}.Release|Mixed Platforms.Build.0 = Release|Win32 + {CF267D06-BE5D-4303-A013-33BBC076809F}.Release|Win32.ActiveCfg = Release|Win32 + {CF267D06-BE5D-4303-A013-33BBC076809F}.Release|Win32.Build.0 = Release|Win32 + {CF267D06-BE5D-4303-A013-33BBC076809F}.Release|x64.ActiveCfg = Release|x64 + {CF267D06-BE5D-4303-A013-33BBC076809F}.Release|x64.Build.0 = Release|x64 + {1FC98FC2-84C9-4253-85B5-7BCC90D8F2E4}.Debug|Any CPU.ActiveCfg = Debug|Any CPU + {1FC98FC2-84C9-4253-85B5-7BCC90D8F2E4}.Debug|Mixed Platforms.ActiveCfg = Debug|Any CPU + {1FC98FC2-84C9-4253-85B5-7BCC90D8F2E4}.Debug|Win32.ActiveCfg = Debug|Any CPU + {1FC98FC2-84C9-4253-85B5-7BCC90D8F2E4}.Debug|x64.ActiveCfg = Debug|Any CPU + {1FC98FC2-84C9-4253-85B5-7BCC90D8F2E4}.Release|Any CPU.ActiveCfg = Release|Any CPU + {1FC98FC2-84C9-4253-85B5-7BCC90D8F2E4}.Release|Mixed Platforms.ActiveCfg = Release|Any CPU + {1FC98FC2-84C9-4253-85B5-7BCC90D8F2E4}.Release|Win32.ActiveCfg = Release|Any CPU + {1FC98FC2-84C9-4253-85B5-7BCC90D8F2E4}.Release|x64.ActiveCfg = Release|Any CPU + EndGlobalSection + GlobalSection(SolutionProperties) = preSolution + HideSolutionNode = FALSE + EndGlobalSection +EndGlobal diff --git a/windows/mxnet/mxnet.vcxproj b/windows/mxnet/mxnet.vcxproj new file mode 100644 index 000000000000..def497554e9c --- /dev/null +++ b/windows/mxnet/mxnet.vcxproj @@ -0,0 +1,337 @@ + + + + + Debug + Win32 + + + Debug + x64 + + + Release + Win32 + + + Release + x64 + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + {6e6dda36-69ba-4555-ba88-10166b11f2d2} + + + + {15D3B5AC-7EF8-422E-BB67-69F06BA394C3} + mxnet + + + + Application + true + MultiByte + v120 + + + DynamicLibrary + true + MultiByte + v120 + + + Application + false + true + MultiByte + v120 + + + DynamicLibrary + false + true + MultiByte + v120 + + + + + + + + + + + + + + + + + + + + true + + + true + + + + Level3 + Disabled + WIN32;_DEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + true + Console + cudart.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + echo copy "$(CudaToolkitBinDir)\cudart*.dll" "$(OutDir)" +copy "$(CudaToolkitBinDir)\cudart*.dll" "$(OutDir)" + + + + + Level3 + Disabled + WIN32;WIN64;_DEBUG;_CONSOLE;MSHADOW_FORCE_STREAM;MXNET_USE_OPENCV;MSHADOW_USE_CUDNN;MXNET_USE_THREADED_ENGINE;MSHADOW_USE_CBLAS=1;MSHADOW_USE_MKL=0;USE_STATIC_MKL=0;DMLC_USE_CXX11;MSHADOW_IN_CXX11;%(PreprocessorDefinitions) + ../../windows/3rdparty/include;../../dmlc-core/include;../../mshadow;../../include;%(AdditionalIncludeDirectories) + + + true + Console + libopenblas.dll.a;opencv_world300.lib;cudnn.lib;cudart.lib;curand.lib;cublas.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + ../../windows/3rdparty/lib;%(AdditionalLibraryDirectories) + + + cd ../../python +python setup.py install +if not exist "$(SolutionDir)$(Platform)\$(Configuration)\opencv_world300.dll" ( +echo Copy dll files... +copy ..\windows\3rdparty\bin\*.dll $(SolutionDir)$(Platform)\$(Configuration)\ /y +) + + + 64 + + + @echo off&SetLocal EnableDelayedExpansion +cd ../../python/mxnet/ +(findstr /n .* libinfo.py) > temp.txt +(For /f "delims=: tokens=1*" %%a in (temp.txt) do ( + echo.%%b| Find /i " vs_configuration = 'Release'" >nul + If !errorLevel!==0 (echo vs_configuration = 'Debug') Else (echo.%%b) +))>libinfo.py +del temp.txt + + + + + Level3 + MaxSpeed + true + true + WIN32;NDEBUG;_CONSOLE;%(PreprocessorDefinitions) + + + true + true + true + Console + cudart.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + + + echo copy "$(CudaToolkitBinDir)\cudart*.dll" "$(OutDir)" +copy "$(CudaToolkitBinDir)\cudart*.dll" "$(OutDir)" + + + + + Level3 + MaxSpeed + true + true + WIN32;WIN64;NDEBUG;_CONSOLE;MSHADOW_FORCE_STREAM;MXNET_USE_OPENCV;MSHADOW_USE_CUDNN;MXNET_USE_THREADED_ENGINE;MSHADOW_USE_CBLAS=1;MSHADOW_USE_MKL=0;USE_STATIC_MKL=0;DMLC_USE_CXX11;MSHADOW_IN_CXX11;%(PreprocessorDefinitions) + ../../windows/3rdparty/include;../../dmlc-core/include;../../mshadow;../../include;%(AdditionalIncludeDirectories) + + + true + true + true + Console + libopenblas.dll.a;opencv_world300.lib;cudnn.lib;cudart.lib;curand.lib;cublas.lib;kernel32.lib;user32.lib;gdi32.lib;winspool.lib;comdlg32.lib;advapi32.lib;shell32.lib;ole32.lib;oleaut32.lib;uuid.lib;odbc32.lib;odbccp32.lib;%(AdditionalDependencies) + ../../windows/3rdparty/lib;%(AdditionalLibraryDirectories) + + + cd ../../python +python setup.py install +if not exist "$(SolutionDir)$(Platform)\$(Configuration)\opencv_world300.dll" ( +echo Copy dll files... +copy ..\windows\3rdparty\bin\*.dll $(SolutionDir)$(Platform)\$(Configuration)\ /y +) + + + 64 + compute_30,sm_30; + true + + + + + @echo off&SetLocal EnableDelayedExpansion +cd ../../python/mxnet/ +(findstr /n .* libinfo.py) > temp.txt +(For /f "delims=: tokens=1*" %%a in (temp.txt) do ( + echo.%%b| Find /i " vs_configuration = 'Debug'" >nul + If !errorLevel!==0 (echo vs_configuration = 'Release') Else (echo.%%b) +))>libinfo.py +del temp.txt + + + + + + + \ No newline at end of file diff --git a/windows/mxnet/mxnet.vcxproj.filters b/windows/mxnet/mxnet.vcxproj.filters new file mode 100644 index 000000000000..0c351fd1ef9f --- /dev/null +++ b/windows/mxnet/mxnet.vcxproj.filters @@ -0,0 +1,442 @@ + + + + + {a8ca4cfa-040b-447a-ac79-b7d1f9835624} + + + {d5e511b9-81d9-4890-8a51-262d4567ded8} + + + {d7396bcb-df71-4492-b3a9-3ad1a99dc956} + + + {0d84f9f7-bd5a-46b1-9ff1-3fd31483a8af} + + + {935c4f13-ffdc-4cde-bc1c-6ee9b424e951} + + + {74864d56-248c-4191-8ada-c35ee9041de0} + + + {a91f9244-a58b-425e-90db-a7b71652e6f7} + + + {1abb0e4c-e4b7-4a64-b4b9-ba98c0887168} + + + {8129570b-2a10-4df0-90e6-78acdc72d147} + + + {5053e9c0-c5fa-4920-936b-6e4103b46fbb} + + + {7d98986e-9f73-4010-b4e7-7f9518948b23} + + + {adba0dd3-a553-465d-a1f3-cf90e8efbd99} + + + + + mshadow + + + mshadow + + + mshadow + + + mshadow + + + mshadow + + + mshadow + + + mshadow + + + mshadow + + + mshadow + + + mshadow + + + mshadow + + + mshadow + + + mshadow + + + mshadow + + + mshadow + + + mshadow + + + mshadow\cuda + + + mshadow\cuda + + + mshadow\extension + + + mshadow\extension + + + mshadow\extension + + + mshadow\extension + + + mshadow\extension + + + mshadow\extension + + + mshadow\extension + + + mshadow\extension + + + mshadow\extension + + + mshadow\extension + + + mshadow\extension + + + mshadow\extension + + + mshadow\extension + + + mshadow\extension + + + common + + + common + + + common + + + common + + + engine + + + engine + + + engine + + + engine + + + io + + + io + + + io + + + io + + + io + + + kvstore + + + ndarray + + + ndarray + + + operator + + + operator + + + operator + + + operator + + + operator + + + operator + + + operator + + + operator + + + operator + + + operator + + + operator + + + operator + + + operator + + + operator + + + operator + + + operator + + + operator + + + operator + + + operator + + + operator + + + storage + + + storage + + + storage + + + storage + + + storage + + + storage + + + symbol + + + symbol + + + symbol + + + symbol + + + include + + + include + + + include + + + include + + + include + + + include + + + include + + + include + + + include + + + include + + + + + engine + + + engine + + + engine + + + engine + + + engine + + + io + + + io + + + io + + + kvstore + + + ndarray + + + ndarray + + + operator + + + operator + + + operator + + + operator + + + operator + + + operator + + + operator + + + operator + + + operator + + + operator + + + operator + + + operator + + + operator + + + operator + + + storage + + + symbol + + + symbol + + + symbol + + + + + + + ndarray + + + operator + + + operator + + + operator + + + operator + + + operator + + + operator + + + operator + + + operator + + + operator + + + operator + + + operator + + + operator + + + operator + + + \ No newline at end of file diff --git a/windows/mxnet/mxnet.vcxproj.user b/windows/mxnet/mxnet.vcxproj.user new file mode 100644 index 000000000000..ef5ff2a1fae6 --- /dev/null +++ b/windows/mxnet/mxnet.vcxproj.user @@ -0,0 +1,4 @@ + + + + \ No newline at end of file diff --git a/windows/python/python.pyproj b/windows/python/python.pyproj new file mode 100644 index 000000000000..06f35cc967e3 --- /dev/null +++ b/windows/python/python.pyproj @@ -0,0 +1,106 @@ + + + + Debug + 2.0 + {1fc98fc2-84c9-4253-85b5-7bcc90d8f2e4} + ..\..\ + tests\python\test_tutorial.py + + . + . + {888888a0-9f3d-457c-b088-3a5042f75d52} + Standard Python launcher + {9a7a9026-48c1-4688-9d5d-e5699d47d074} + 2.7 + True + + + + + 10.0 + $(MSBuildExtensionsPath32)\Microsoft\VisualStudio\v$(VisualStudioVersion)\Python Tools\Microsoft.PythonTools.targets + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + Code + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file