mersenneforum.org  

Go Back   mersenneforum.org > Factoring Projects > GMP-ECM

Reply
 
Thread Tools
Old 2017-11-02, 10:22   #1
Brian Gladman
 
Brian Gladman's Avatar
 
May 2008
Worcester, United Kingdom

2×263 Posts
Default Building GMP-ECM with Visual Studio 2017

As some will know, I am maintaining a Microsoft Visual Studio build for GMP-ECM.

I have just updated this build for Visual Studio 2017 with CUDA 9 on 64-bit Windows systems but I have not yet uploaded it to the repository as I would like to understand whether there is enough interest in Visual Studio builds to justify the effort I put into maintaining them.

Please also note that In this and future Visual Studio builds I am only maintaining support 64-bit Windows systems.

I would be grateful if those who have an ongoing interest in Visual Studio builds for GMP-ECM could let me know by responding to this post.

Last fiddled with by Brian Gladman on 2017-11-02 at 10:23
Brian Gladman is offline   Reply With Quote
Old 2017-11-02, 13:30   #2
xilman
Bamboozled!
 
xilman's Avatar
 
"π’‰Ίπ’ŒŒπ’‡·π’†·π’€­"
May 2003
Down not across

2·72·109 Posts
Default

Quote:
Originally Posted by Brian Gladman View Post
As some will know, I am maintaining a Microsoft Visual Studio build for GMP-ECM.

I have just updated this build for Visual Studio 2017 with CUDA 9 on 64-bit Windows systems but I have not yet uploaded it to the repository as I would like to understand whether there is enough interest in Visual Studio builds to justify the effort I put into maintaining them.

Please also note that In this and future Visual Studio builds I am only maintaining support 64-bit Windows systems.

I would be grateful if those who have an ongoing interest in Visual Studio builds for GMP-ECM could let me know by responding to this post.
I run it on Windows systems. It would also be nice if the ECMNET client (at least) were run more widely on Windoze boxen but that, probably, ought to be my responsibility.
xilman is offline   Reply With Quote
Old 2017-11-02, 16:07   #3
wombatman
I moo ablest echo power!
 
wombatman's Avatar
 
May 2013

5×349 Posts
Default

Quote:
Originally Posted by Brian Gladman View Post
As some will know, I am maintaining a Microsoft Visual Studio build for GMP-ECM.

I have just updated this build for Visual Studio 2017 with CUDA 9 on 64-bit Windows systems but I have not yet uploaded it to the repository as I would like to understand whether there is enough interest in Visual Studio builds to justify the effort I put into maintaining them.

Please also note that In this and future Visual Studio builds I am only maintaining support 64-bit Windows systems.

I would be grateful if those who have an ongoing interest in Visual Studio builds for GMP-ECM could let me know by responding to this post.
I would definitely make use of this.
wombatman is offline   Reply With Quote
Old 2017-11-02, 16:21   #4
swellman
 
swellman's Avatar
 
Jun 2012

41×73 Posts
Default

Me too.
swellman is online now   Reply With Quote
Old 2017-11-03, 11:35   #5
VictordeHolland
 
VictordeHolland's Avatar
 
"Victor de Hollander"
Aug 2011
the Netherlands

23·3·72 Posts
Default

I mostly use ATH precompiled executables for my Windoz machines:
http://mersenneforum.org/showthread.php?t=4087&page=36

I also succesfully compiled a Win64 executable on my Sandybridge machine with msys64+mingw64 myself:
GMP-ECM 7.0.5 SVN3019 with GMP-6.1.0

I never got CUDA to work though. So yes it would be nice if somebody would maintain a 'real' windows build, but don't put too much time in it, as there are other binaries available.
VictordeHolland is offline   Reply With Quote
Old 2017-11-03, 14:55   #6
henryzz
Just call me Henry
 
henryzz's Avatar
 
"David"
Sep 2007
Cambridge (GMT/BST)

133568 Posts
Default

As far as I am aware it is the only method of producing windows cuda binaries.
henryzz is online now   Reply With Quote
Old 2017-11-03, 15:18   #7
Brian Gladman
 
Brian Gladman's Avatar
 
May 2008
Worcester, United Kingdom

2·263 Posts
Default

OK, it looks like it is still useful so I will tidy it up and add it to the GMP-ECM repository.

Another issue that we have to face is the proliferation of machine optimisations we now have to deal with for MPIR (or GMP) on which GMP-ECM depends.

Until now I have been producing a number of static GMP-ECM binaries for the most used machines in order to avoid 'DLL hell'.

But I am now starting to think that the increasing number of binaries involved might make it more sensible to build GMP-ECM with dynamic linking to MPIR. So there would be only one GMP-ECM binary and users would choose which MPIR binary they use with it. This risks 'DLL hell' but I think most people who run GMP-ECM on WIndows are capable of dealing with this.

Does anyone have concerns about a move to use dynamic linking for future GMP-ECM releases built with Visual Studio?
Brian Gladman is offline   Reply With Quote
Old 2017-11-04, 18:22   #8
CRGreathouse
 
CRGreathouse's Avatar
 
Aug 2006

10111011000012 Posts
Default

Quote:
Originally Posted by Brian Gladman View Post
Does anyone have concerns about a move to use dynamic linking for future GMP-ECM releases built with Visual Studio?
I think you overestimate your users (and underestimate the pain of DLL hell...). Static linking is nice.
CRGreathouse is offline   Reply With Quote
Old 2017-11-04, 18:45   #9
xilman
Bamboozled!
 
xilman's Avatar
 
"π’‰Ίπ’ŒŒπ’‡·π’†·π’€­"
May 2003
Down not across

29BA16 Posts
Default

Quote:
Originally Posted by CRGreathouse View Post
I think you overestimate your users (and underestimate the pain of DLL hell...). Static linking is nice.
Seconded.
xilman is offline   Reply With Quote
Old 2017-11-05, 12:41   #10
VictordeHolland
 
VictordeHolland's Avatar
 
"Victor de Hollander"
Aug 2011
the Netherlands

23·3·72 Posts
Default

Quote:
Originally Posted by Brian Gladman View Post
Another issue that we have to face is the proliferation of machine optimisations we now have to deal with for MPIR (or GMP) on which GMP-ECM depends.
Speaking of MPIR, I've noticed that some of the precompiled versions use that instead of GMP, is there any reason/benefit using MPIR instead of the GMP libraries?

Quote:
Does anyone have concerns about a move to use dynamic linking for future GMP-ECM releases built with Visual Studio?
+1 to static linking
VictordeHolland is offline   Reply With Quote
Old 2017-11-05, 14:59   #11
Brian Gladman
 
Brian Gladman's Avatar
 
May 2008
Worcester, United Kingdom

2×263 Posts
Default

Quote:
Originally Posted by VictordeHolland View Post
Speaking of MPIR, I've noticed that some of the precompiled versions use that instead of GMP, is there any reason/benefit using MPIR instead of the GMP libraries?
For the end user it is hard to say since these packages are optimised in different ways. Until recently, MPIR lacked assembler support for some recent Intel processors but it has recently been updated.

For myself as the developer and maintainer of the Visual Studio build for GMP-ECM, it has to be MPIR since GMP does not offer support for building with Visual Studio and I don't support any builds with the non-native environments.

Based on the feedback above, I have now set the GMP-ECM VS2017 build for static linking.

I have now tested this build with CUDA 9 running on a Quadro M2000M GPU on my Windows 10 x64 system running on a skylake CPU. All tests pass.

The downside of static linking is that GMP-ECM has to be built for specific CPUs/GPUs if full optimisation is to be provided.

Hopefully Jeff Gilchrist will be able to host a number of binaries. I can build some of these but others will have to tests them.
Brian Gladman is offline   Reply With Quote
Reply

Thread Tools


Similar Threads
Thread Thread Starter Forum Replies Last Post
Visual Studio 2015 build Brian Gladman Msieve 3 2016-10-04 10:40
GMP-ECM with Visual Studio 2015 Brian Gladman GMP-ECM 0 2016-09-29 11:33
Visual Studio (yech) R.D. Silverman Programming 12 2015-09-07 00:54
Using YAFU in Visual Studio queremendi YAFU 12 2015-07-09 15:40
AMD64 Applications with Visual Studio 6 or .Net Ethan (EO) Software 0 2004-08-09 04:07

All times are UTC. The time now is 21:22.

Wed May 12 21:22:12 UTC 2021 up 34 days, 16:03, 0 users, load averages: 2.47, 2.60, 2.45

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.

This forum has received and complied with 0 (zero) government requests for information.

Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.
A copy of the license is included in the FAQ.