Comments (12)
@dskhudia @peterjc123 @snaik2016 Actually, I've made FBGEMM fully functional on windows. https://github.com/marian-nmt/FBGEMM
It's based on 518d8a1 .
This fork of FBGEMM is used in marian-nmt.
I could do rebase on the latest branch, if needed.
I am aware of there are some new code including AVX512 based fp16. And, I have a little more code clean up.
from fbgemm.
Hi @snaik2016,
We haven't tried building it on windows. We expect some issues as we generate code at runtime and the calling convention is different with windows compiler + platform. There may be some compiler incompatibility issues as well. However, we don't expect any major changes. Currently the support on windows platform is not planned to be added in near future but we welcome external contributions.
Thanks
Daya
from fbgemm.
I tried with #238. Due to the fact that I don't have too much knowledge about assembly code, I cannot proceed any further. Could you please take a look there?
from fbgemm.
@peterjc123 Thanks for your contributions. Let me look at your PR. I have been making some progress on this with d06ea70 c960d51 fc3dfe3 and others recently.
from fbgemm.
Can this library be built on windows?
@snaik2016 we are trying to port the code to Windows platform. One question is whether you need both Static and Shared FBGEMM libraries, or just static ? Do you know how important shared library is on Windows platforms compared with static ?
Icc @peterjc123 and @ykim362 @dskhudia @jspark1105
from fbgemm.
@shz0116 In my use case in marian-nmt, I directly include those FBGEMM file into my marian VS project. And, the mother VS project generates a shared library (dll). So, I am using a shared library (I use all the files in FBGEMM). I use ' FBGEMM_EXPORTS' definition in the project.
from fbgemm.
@ykim362 so you have not seen the problem in https://github.com/pytorch/FBGEMM/issues/266 ?
from fbgemm.
@shz0116 I don't have a problem in my forked branch. ( https://github.com/marian-nmt/FBGEMM ). I might need to merge the latest FBGEMM branch into marian-nmt, soon. So, I will let you know how it goes.
from fbgemm.
@shz0116 I can see one difference between the old version and the latest version. 'FBGEMM_EXPORTS' is forcely defined in some cc files in the latest version.
e.g.
FBGEMM/src/PackAWithQuantRowOffset.cc
Line 7 in 27cb280
Could this cause potential mismatches between dllimport and dllexport?
In the PackAWithQuantRowOffset.cc file, it's defined with dllexport because of the definition. On the other hand, in other files (e.g. PackedFloatInOutBenchmark.cc), Fbgemm.h is included without FBGEMM_EXPORTS resulting dllimport.
from fbgemm.
Can this library be built on windows?
@snaik2016 we are trying to port the code to Windows platform. One question is whether you need both Static and Shared FBGEMM libraries, or just static ? Do you know how important shared library is on Windows platforms compared with static ?
Icc @peterjc123 and @ykim362 @dskhudia @jspark1105
I guess the static build is okay if the size is not too big. Otherwise, it will fail in the linking stage because PyTorch is already large enough.
from fbgemm.
The shared build should be working in #268.
from fbgemm.
FBGEMM works on windows now. Closing this issue.
from fbgemm.
Related Issues (20)
- Support MacOS? HOT 1
- `.to("meta")` is leaked to the public main branch in the tests. HOT 2
- Can't compile FBGEMM with GCC 12.3.0 HOT 3
- compiling FBGEMM for ARM HOT 3
- How `partition_avx512` is auto-tuned? HOT 3
- Compiling on windows with mingw
- Error importing fbgemm_gpu HOT 15
- nvcc fatal : Unknown option '-mavx' HOT 5
- Build failure on MacOS HOT 6
- momentum for SGD/Adagrad HOT 2
- RuntimeError: No such operator fbgemm::jagged_2d_to_dense HOT 3
- Having issue installing FBGEMM-gpu on MacOS HOT 8
- Latest FBGEMM doesn't build with latest PyTorch HOT 1
- fbgemm_gpu doesn't build for CPU because impl_abstract_pystub is not found HOT 1
- [FBGEMM_GPU Question] When should I use FusedEmbeddingBagCollection over EmbeddingBagCollection?
- [Question] What does device / embedding_specs.compute_device parameter in ctor of TBE mean? HOT 4
- AttributeError: '_OpNamespace' 'fbgemm' object has no attribute 'jagged_2d_to_dense' HOT 5
- Building error after C++20 HOT 2
- quantize_embeddings + KeyedJaggedTensor+ vbe cannot work
- AttributeError: '_OpNamespace' 'fbgemm' object has no attribute 'jagged_2d_to_dense' HOT 2
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from fbgemm.