Code Monkey home page Code Monkey logo

Comments (12)

RoyiAvital avatar RoyiAvital commented on June 15, 2024

Hi,

Any progress on that?
There is clang-cl.exe which should compatible to MSVC.
Also it allows using flags of CLang using -XClang -clangFlag (In case of multiple flags it will be -XClang -clangFlag001 -XClang -clangFlag002) if some flags needed for better performance.

from sleef.

shibatch avatar shibatch commented on June 15, 2024

This is not a problem in SLEEF.

from sleef.

RoyiAvital avatar RoyiAvital commented on June 15, 2024

@shibatch ,
It is a problem of SLEEF.

You have CLang Compiler in Windows which is fully compatible to CLang in Linux and have full AVX2 support.
You just need to let it be used just like MSVC in CMAKE and also in the Macors in the code.

from sleef.

shibatch avatar shibatch commented on June 15, 2024

Clang that comes with visual studio is indicated as experimental.
I don't know under what condition other versions of clang works correctly.
You can use AVX if it works, since it is not disabled. It is just not supported.

from sleef.

RoyiAvital avatar RoyiAvital commented on June 15, 2024

I'm not talking on CLang under MSVC (In that case it is only a parser).

I'm talking about CLang for Windows which is fully compatible to CLang on any other system.

All you need to make sure that if the Compiler is CLang under Windows it is treated just like CLang under Linux.

from sleef.

RoyiAvital avatar RoyiAvital commented on June 15, 2024

By the way, LLVM 6.x.x ships with Clang for Windows which is MSVC compatible.
Namely you can get the Clang performance just by switching the compiler identifier.

This will give modern OpenMP and high quality compiler in Windows (With proper AVX / AVX2 / AVX512 support).
It should be easy to utilize it.

from sleef.

shibatch avatar shibatch commented on June 15, 2024

Those clang versions are not properly supported by cmake.

from sleef.

RoyiAvital avatar RoyiAvital commented on June 15, 2024

They are perfectly supported with CMake.
The main developer of CMake use them on daily basis.

It works with the Ninja Generator which might even speed up the whole process.

from sleef.

shibatch avatar shibatch commented on June 15, 2024

Could you build sleef with clang on windows and provide the command line for compilation?

from sleef.

RoyiAvital avatar RoyiAvital commented on June 15, 2024

The problem is your code is very sensitive to the generator and the compiler.
You added many cases to take care of them and created something which is hard to make portable.

Moreover you make wrong assumptions about the code of LLVM / CLang (Which has no issue with generating AVX code on Windows unlike GCC).

If you make sure you treat Clang just like GCC it will work.

from sleef.

shibatch avatar shibatch commented on June 15, 2024

Please write a patch yourself.
I'm not interested.

from sleef.

RoyiAvital avatar RoyiAvital commented on June 15, 2024

@shibatch ,
I got you, you don't want Windows users.

I just think that you should fix errors in the page (AVX support has nothing to do with Cygwin, only with GCC, all other compilers support AVX on Windows).

from sleef.

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.