Skip to content

Remove CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS and fix CUDA 8 build on Windows (#9491)#9693

Closed
ezyang wants to merge 1 commit intopytorch:masterfrom
ezyang:export-D8946850
Closed

Remove CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS and fix CUDA 8 build on Windows (#9491)#9693
ezyang wants to merge 1 commit intopytorch:masterfrom
ezyang:export-D8946850

Conversation

@ezyang
Copy link
Contributor

@ezyang ezyang commented Jul 22, 2018

Summary:
Fixes #9092.
Pull Request resolved: #9491

Differential Revision: D8946850

…ws (pytorch#9693)

Summary:
Pull Request resolved: pytorch#9693

Fixes pytorch#9092.
Pull Request resolved: pytorch#9491

Differential Revision: D8946850

fbshipit-source-id: f8e053542b573c0d778f8be62773cc761e090c77
@ezyang ezyang force-pushed the export-D8946850 branch from dbb561f to 9b67787 Compare July 22, 2018 23:43
Copy link
Contributor

@facebook-github-bot facebook-github-bot left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@ezyang is landing this pull request. If you are a Facebook employee, you can view this diff on Phabricator.

zdevito pushed a commit to zdevito/ATen that referenced this pull request Jul 23, 2018
…ws (#9491) (#9491)

Summary:
Fixes #9092.
Pull Request resolved: pytorch/pytorch#9491
Pull Request resolved: pytorch/pytorch#9693

Differential Revision: D8946850

Pulled By: ezyang

fbshipit-source-id: bd816f459ab70f6b4a0983305a1ce341bb633707
jramseyer pushed a commit to jramseyer/pytorch that referenced this pull request Jul 30, 2018
…ws (pytorch#9491) (pytorch#9491)

Summary:
Fixes pytorch#9092.
Pull Request resolved: pytorch#9491
Pull Request resolved: pytorch#9693

Differential Revision: D8946850

Pulled By: ezyang

fbshipit-source-id: bd816f459ab70f6b4a0983305a1ce341bb633707
goodlux pushed a commit to goodlux/pytorch that referenced this pull request Aug 15, 2018
…ws (pytorch#9491) (pytorch#9491)

Summary:
Fixes pytorch#9092.
Pull Request resolved: pytorch#9491
Pull Request resolved: pytorch#9693

Differential Revision: D8946850

Pulled By: ezyang

fbshipit-source-id: bd816f459ab70f6b4a0983305a1ce341bb633707
facebook-github-bot pushed a commit that referenced this pull request Nov 14, 2018
…ows : (#13672)

Summary:
Libtorch is missing some symbols when generated on windows, causing linker errors when using it.

It seems like there were some issues in the past with enabling   CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS to export all symbols during the build.
(See the link below :
    - Enabling CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS :  #3617
    - Disabling CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS :  #9092 and #9693 )

So enabling CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS is not an option. But some symbols are still missing for Libtorch to be working.
We added some functions to TORCH_API in this PR, but we might be missing some.
(We also tried adding the whole structure Method  (struct TORCH_API Method { ... }) instead of adding the functions separately, but the build fails with a "one or more multiply defined symbols found" error)

Do you have any recommendations on how to detect functions that should/shouldn't be in TORCH_API, so the build is successful and the generated Libtorch has all the required exported symbols?

I also attached toch_exports_missing.txt, which contains the symbols that are exported with the CMAKE_WINDOWS_EXPORT_ALL_SYMBOLS flag enabled but not in the current Libtorch version.
( by generating the output for both torch.dll libraries with "dumpbin /EXPORTS torch.dll" and comparing both outputs and generating the difference)
So any symbol that could be missing from Libtorch should be in this list, but the list has more than 8000 symbols, and I am not sure which ones require to be exported and added to TORCH_API.

This PR currently exports the missing symbols for torch::jit::script::Method that appears in the attached list (in the exception of defaultSchemaFor, and emit_call_to that cause a "multiply defined symbols" error).

[torch_exports_missing.txt](https://github.com/pytorch/pytorch/files/2558466/torch_exports_missing.txt)
Pull Request resolved: #13672

Differential Revision: D12959348

Pulled By: soumith

fbshipit-source-id: ef7e85b047b3937dc6aa01ba67e4e01f8eae4eca
@ezyang ezyang added the merged label Jun 26, 2019
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

CUDA 8 build failed on Windows

3 participants