DPDK patches and discussions
 help / color / mirror / Atom feed
* DPDK for Windows with MSVC compiler
@ 2022-03-21 10:26 Tarun Badnora
  2022-03-22 11:55 ` Dmitry Kozlyuk
  0 siblings, 1 reply; 5+ messages in thread
From: Tarun Badnora @ 2022-03-21 10:26 UTC (permalink / raw)
  To: dev; +Cc: Anurag Berdia

[-- Attachment #1: Type: text/plain, Size: 687 bytes --]


Hello DPDK Team,

Hope you are doing good !!

We are evaluating DPDK for windows and planning to integrate in existing application/project that uses MSVC compiler.
DPDK Documentations covers the compilation steps using Clang (LLVM) only.

We'd like to know whether DPDK supports MSVC compiler ?
If yes, please guide us to the references & compatible versions else share plan of its availability if it's in roadmap.

DPDK Versions:                 21.11, 22.03_rc2
Windows:                            Server 2019 x64
Adapter:                              Mellanox ConnectX-6Dx

PS: We tried to compile using MSVC (VS 2019) but didn't worked.

Regards,
Tarun Badnora


[-- Attachment #2: Type: text/html, Size: 3576 bytes --]

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: DPDK for Windows with MSVC compiler
  2022-03-21 10:26 DPDK for Windows with MSVC compiler Tarun Badnora
@ 2022-03-22 11:55 ` Dmitry Kozlyuk
  2022-03-23  8:30   ` Tarun Badnora
  0 siblings, 1 reply; 5+ messages in thread
From: Dmitry Kozlyuk @ 2022-03-22 11:55 UTC (permalink / raw)
  To: Tarun Badnora; +Cc: dev, Anurag Berdia, Omar Cardona, Daniel Havey

2022-03-21 10:26 (UTC+0000), Tarun Badnora:
> We'd like to know whether DPDK supports MSVC compiler ?
> If yes, please guide us to the references & compatible versions else share plan of its availability if it's in roadmap.

Hello Tarun,

DPDK does not support MSVC.
There is a very long term intention to build DPDK with MSVC
(adding Omar and Daniel if they have any more comments),
but for now it's only clang and MinGW-w64.
There is a significant gap in language features support from MSVC side
and some issues (e.g. GCC-isms) from DPDK side.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* RE: DPDK for Windows with MSVC compiler
  2022-03-22 11:55 ` Dmitry Kozlyuk
@ 2022-03-23  8:30   ` Tarun Badnora
  2022-03-25 13:25     ` Dmitry Kozlyuk
  0 siblings, 1 reply; 5+ messages in thread
From: Tarun Badnora @ 2022-03-23  8:30 UTC (permalink / raw)
  To: Dmitry Kozlyuk; +Cc: dev, Anurag Berdia, Omar Cardona, Daniel Havey

Hello Dmitry,

Thanks for providing this information.

For better planning at our end, I like to ask couple of questions:

Is there a way to integrate DPDK module, built with clang/mingw, to our MSVC application ? 
I know both are different compilers, but in case if you are aware of a way/tweak that will be of our help.
OR 
If porting our application is the only option available then which compiler (clang or mingw) is recommended for optimal performance.

Regards,
Tarun Badnora

-----Original Message-----
From: Dmitry Kozlyuk <dmitry.kozliuk@gmail.com> 
Sent: 22 March 2022 17:25
To: Tarun Badnora <tarun.badnora@clear-trail.com>
Cc: dev@dpdk.org; Anurag Berdia <anurag.berdia@clear-trail.com>; Omar Cardona <ocardona@microsoft.com>; Daniel Havey <dahavey@microsoft.com>
Subject: Re: DPDK for Windows with MSVC compiler

2022-03-21 10:26 (UTC+0000), Tarun Badnora:
> We'd like to know whether DPDK supports MSVC compiler ?
> If yes, please guide us to the references & compatible versions else share plan of its availability if it's in roadmap.

Hello Tarun,

DPDK does not support MSVC.
There is a very long term intention to build DPDK with MSVC (adding Omar and Daniel if they have any more comments), but for now it's only clang and MinGW-w64.
There is a significant gap in language features support from MSVC side and some issues (e.g. GCC-isms) from DPDK side.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* RE: DPDK for Windows with MSVC compiler
  2022-03-23  8:30   ` Tarun Badnora
@ 2022-03-25 13:25     ` Dmitry Kozlyuk
  2022-03-25 16:35       ` Tyler Retzlaff
  0 siblings, 1 reply; 5+ messages in thread
From: Dmitry Kozlyuk @ 2022-03-25 13:25 UTC (permalink / raw)
  To: Tarun Badnora
  Cc: dev, Anurag Berdia, Omar Cardona, Dmitry Kozlyuk, Daniel Havey,
	Tyler Retzlaff

> Is there a way to integrate DPDK module, built with clang/mingw, to our
> MSVC application ?
> I know both are different compilers, but in case if you are aware of a
> way/tweak that will be of our help.
> OR
> If porting our application is the only option available then which
> compiler (clang or mingw) is recommended for optimal performance.

DPDK headers are incompatible with MSVC
due to heavy use of extensions common to GCC, clang, and ICC.
DPDK libraries can be linked trivially.
If your app cannot be easily recompiled with clang,
I think the best way is to use two compilers:
compile the module that interfaces DPDK with clang
and the rest of the app with MSVC,
link DPDK libraries as any other external libraries.
Note that DPDK installation on Windows is not fully functional yet:
it does not install pthread.h which you can find in lib/eal/windows/include.

+Tyler who might have relevant experience.

^ permalink raw reply	[flat|nested] 5+ messages in thread

* Re: DPDK for Windows with MSVC compiler
  2022-03-25 13:25     ` Dmitry Kozlyuk
@ 2022-03-25 16:35       ` Tyler Retzlaff
  0 siblings, 0 replies; 5+ messages in thread
From: Tyler Retzlaff @ 2022-03-25 16:35 UTC (permalink / raw)
  To: Dmitry Kozlyuk
  Cc: Tarun Badnora, dev, Anurag Berdia, Omar Cardona, Dmitry Kozlyuk,
	Daniel Havey, Tyler Retzlaff

On Fri, Mar 25, 2022 at 01:25:51PM +0000, Dmitry Kozlyuk wrote:
> > Is there a way to integrate DPDK module, built with clang/mingw, to our
> > MSVC application ?
> > I know both are different compilers, but in case if you are aware of a
> > way/tweak that will be of our help.
> > OR
> > If porting our application is the only option available then which
> > compiler (clang or mingw) is recommended for optimal performance.
> 
> DPDK headers are incompatible with MSVC
> due to heavy use of extensions common to GCC, clang, and ICC.
> DPDK libraries can be linked trivially.
> If your app cannot be easily recompiled with clang,
> I think the best way is to use two compilers:
> compile the module that interfaces DPDK with clang
> and the rest of the app with MSVC,
> link DPDK libraries as any other external libraries.
> Note that DPDK installation on Windows is not fully functional yet:
> it does not install pthread.h which you can find in lib/eal/windows/include.
> 
> +Tyler who might have relevant experience.

while you could compile dpdk with clang and your application with msvc
it is non-trivial and i would strongly advise against it.

you'll spend more effort on maintaining the dpdk fork you have to create
than it will take to improve your applications code to be more compiler
agnostic.

i would advise you to port your application to clang and when doing so
use as much standard c as possible as opposed to compiler builtins or
intrinsics and abstracting when standards don't provide common
facilities.

the desire to use msvc has been expressed by multiple dpdk community
members both directly to microsoft and on the community mailing lists.
microsoft is aware of the interest in using msvc and discussions are
ongoing about how to best service the community members interested.

thanks

^ permalink raw reply	[flat|nested] 5+ messages in thread

end of thread, other threads:[~2022-03-25 16:35 UTC | newest]

Thread overview: 5+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2022-03-21 10:26 DPDK for Windows with MSVC compiler Tarun Badnora
2022-03-22 11:55 ` Dmitry Kozlyuk
2022-03-23  8:30   ` Tarun Badnora
2022-03-25 13:25     ` Dmitry Kozlyuk
2022-03-25 16:35       ` Tyler Retzlaff

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).