Giter Site home page Giter Site logo

Is this available on windows? about fbgemm HOT 12 CLOSED

pytorch avatar pytorch commented on May 18, 2024
Is this available on windows?

from fbgemm.

Comments (12)

ykim362 avatar ykim362 commented on May 18, 2024 2

@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.

dskhudia avatar dskhudia commented on May 18, 2024

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.

peterjc123 avatar peterjc123 commented on May 18, 2024

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.

dskhudia avatar dskhudia commented on May 18, 2024

@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.

shz0116 avatar shz0116 commented on May 18, 2024

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.

ykim362 avatar ykim362 commented on May 18, 2024

@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.

shz0116 avatar shz0116 commented on May 18, 2024

@ykim362 so you have not seen the problem in https://github.com/pytorch/FBGEMM/issues/266 ?

from fbgemm.

ykim362 avatar ykim362 commented on May 18, 2024

@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.

ykim362 avatar ykim362 commented on May 18, 2024

@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.

#define FBGEMM_EXPORTS

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.

peterjc123 avatar peterjc123 commented on May 18, 2024

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.

peterjc123 avatar peterjc123 commented on May 18, 2024

The shared build should be working in #268.

from fbgemm.

dskhudia avatar dskhudia commented on May 18, 2024

FBGEMM works on windows now. Closing this issue.

from fbgemm.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo 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.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.