-
Notifications
You must be signed in to change notification settings - Fork 1.9k
adding the functions used to build MlNetMklDeps for 0.0.0.6 #1182
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Conversation
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Thanks for taking care of this @sfilipi !
<licenseUrl>https://software.intel.com/en-us/license/intel-simplified-software-license</licenseUrl> | ||
<requireLicenseAcceptance>true</requireLicenseAcceptance> | ||
<description> | ||
Microsoft.ML.Net, Intel(R) MKL Dependencies. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
(nit) .NET
should always be all-caps - here and below.
Also, I would remove the .
between Microsoft
and ML
. And maybe switch it around: Intel(R) MKL Dependencies for Microsoft ML.NET.
#Resolved
@@ -0,0 +1,18 @@ | |||
<?xml version="1.0"?> |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Do you think it would be a good idea to put a README in this directory as well? The README could have the instructions for how to build the package. Then it would all be out in the open, and we wouldn't have to go looking for the instructions. #Resolved
@@ -0,0 +1,6 @@ | |||
mac: 2018.1.126 |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I would also start putting the MlNetMklDeps version in here too, so we can map it. For example:
MlNetMklDeps v0.0.0.4-0.0.0.6
-----
mac: 2018.1.126
linux: 2018.3.222
windows: 2018.3.210
#Resolved
##Windows | ||
1. Modify user_example_list file in directory to contain all required functions, that are present in the [mlnetmkl.list](mlnetmkl.list) file | ||
2. "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" x86 | ||
3. nmake libia32 name=MklImports (add threading=sequential if you are building without openmp) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
MklImports [](start = 22, length = 10)
Should be Microsoft.ML.MklImports
4. copy /Y Microsoft.ML.MklImports.* to the folder that will host the x86 binaries. | ||
5. del Microsoft.ML.MklImports.* | ||
6. "C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\vcvarsall.bat" amd64 | ||
7. nmake intel64 name=MklImports (add threading=sequential if you are building without openmp) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Should be Microsoft.ML.MklImports
Windows (32 and 64 bit): | ||
- Ensure you have Intel's MKL SDK installed, you can find it here: https://software.intel.com/en-us/mkl. | ||
- Open an admin command prompt and run the following commands, CAREFULLY INSPECTING THE COMMAND OUTPUT FOR ERRORS. | ||
- TLCROOT should be the root of your TLC_Resources folder. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
What is TLC?
ML.NET MKL implementation uses Intel MKL Custom DLL builder to produce a single DLL which contains all of the MKL functions used by it. | ||
To update the DLL, follow the steps below: | ||
|
||
Windows (32 and 64 bit): |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I wouldn't call this windows specific if you remove last point from the list.
Just install and start elevated command line is a good prerequisites rather than windows specific thing.
3. Go to /opt/mkl/tools/builder. | ||
4. Modify makefile add -Wl,-rpath,'$$ORIGIN' \ -Wl,-z,origin \ after -Wl,--end-group \ | ||
5. Modify user_example_list file in directory to contain all the required functions, that are present in the [mlnetmkl.list](mlnetmkl.list) file | ||
6. Run make intel64 name=libMklImports (add threading=sequential if you are building without openmp) |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
isn't it weird what we have x86 version for windows only :) #Resolved
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
it is actually weird that we have instructions for x86 :)
Thanks for taking a look @Ivanidzo4ka. I'll address those on the next PR that adds details about 0.0.0.7
In reply to: 223563064 [](ancestors = 223563064)
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
.NET only supports x86 on Windows.
https://github.com/dotnet/core/blob/master/release-notes/2.1/2.1-supported-os.md
Added the functions used, the nuspec, and the versions of mkl where the custom binaries got built from.
This complement #1103 by adding the info about how those packages get built.
After checking this in, will follow with the info about 0.0.0.7