mersenneforum.org  

Go Back   mersenneforum.org > Great Internet Mersenne Prime Search > Software > Mlucas

Reply
 
Thread Tools
Old 2016-02-05, 14:20   #1
Lorenzo
 
Lorenzo's Avatar
 
Aug 2010
Republic of Belarus

22·43 Posts
Default MLucas on IBM Mainframe

Hello! It's possible compile on IBM Mainframe? Tried compile MLucas (mlucas-14.1.tar.gz and Mlucas_12.11.2014.tgz). But unfortunately have a some problem.

Code:
Architecture:          s390x
CPU op-mode(s):        32-bit, 64-bit
Byte Order:            Big Endian
CPU(s):                2
On-line CPU(s) list:   0,1
Thread(s) per core:    1
Core(s) per socket:    1
Socket(s) per book:    1
Book(s):               2
Vendor ID:             IBM/S390
BogoMIPS:              20325.00
Hypervisor:            z/VM 6.3.0
Hypervisor vendor:     IBM
Virtualization type:   full
Dispatching mode:      horizontal
L1d cache:             128K
L1i cache:             96K
L2d cache:             2048K
L2i cache:             2048K
By the way. Everyone can try. Just register and get access for 90 days. https://developer.ibm.com/linuxone/?...actic=C47300NW

I choose Linux Red Hat.
Lorenzo is offline   Reply With Quote
Old 2016-02-05, 15:33   #2
chalsall
If I May
 
chalsall's Avatar
 
"Chris Halsall"
Sep 2002
Barbados

3·55 Posts
Default

Quote:
Originally Posted by Lorenzo View Post
By the way. Everyone can try. Just register and get access for 90 days. https://developer.ibm.com/linuxone/?...actic=C47300NW
I will let others speak to building MLucas in this environment, but thank you for pointing this out to us. Interesting....
chalsall is offline   Reply With Quote
Old 2016-02-05, 16:57   #3
chalsall
If I May
 
chalsall's Avatar
 
"Chris Halsall"
Sep 2002
Barbados

3×55 Posts
Default

Quote:
Originally Posted by chalsall View Post
Interesting....
Or, perhaps not so much... DNS is broken within the virtual machine as initially instanced (at least for RedHat Linux), and Mlucas doesn't even start to compile successfully, even though "../configure" completes successfully.

Ernst?

I know this is an experiment by IBM, but it's not going to compete with EC2 nor Google Compute et al any time soon.
chalsall is offline   Reply With Quote
Old 2016-02-05, 17:14   #4
Dubslow
Basketry That Evening!
 
Dubslow's Avatar
 
"Bunslow the Bold"
Jun 2011
40<A<43 -89<O<-88

3·29·83 Posts
Default

What's the error? Two people saying "it doesn't work" is about as useful as me saying that Prime95 won't compile either.
Dubslow is offline   Reply With Quote
Old 2016-02-05, 17:22   #5
chalsall
If I May
 
chalsall's Avatar
 
"Chris Halsall"
Sep 2002
Barbados

3·55 Posts
Default

Quote:
Originally Posted by Dubslow View Post
What's the error? Two people saying "it doesn't work" is about as useful as me saying that Prime95 won't compile either.
Fair enough...
Code:
[linux1@i4l-2 build]$ cat /proc/cpuinfo 
vendor_id       : IBM/S390
# processors    : 2
bogomips per cpu: 20325.00
features	: esan3 zarch stfle msa ldisp eimm dfp etf3eh highgprs 
processor 0: version = FF,  identification = 016A77,  machine = 2964
processor 1: version = FF,  identification = 016A77,  machine = 2964

[linux1@i4l-2 build]$ uname -a
Linux i4l-2 2.6.32-573.12.1.el6.s390x #1 SMP Mon Nov 23 12:58:30 EST 2015 s390x s390x s390x GNU/Linux

[linux1@i4l-2 build]$ pwd
/home/linux1/mlucas/mlucas-14.1/build

[linux1@i4l-2 build]$ ../configure 
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports nested variables... (cached) yes
checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking for style of include used by make... GNU
checking dependency style of gcc... none
checking for library containing ceil, log, pow, sqrt, sincos, floor, lrint, atan... -lm
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking fenv.h usability... yes
checking fenv.h presence... yes
checking for fenv.h... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking mach/mach.h usability... no
checking mach/mach.h presence... no
checking for mach/mach.h... no
checking stddef.h usability... yes
checking stddef.h presence... yes
checking for stddef.h... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking for unistd.h... (cached) yes
checking for stdbool.h that conforms to C99... yes
checking for _Bool... yes
checking for inline... inline
checking for pid_t... yes
checking for size_t... yes
checking for uint64_t... yes
checking for stdlib.h... (cached) yes
checking for GNU libc compatible malloc... yes
checking for stdlib.h... (cached) yes
checking for GNU libc compatible realloc... yes
checking for clock_gettime... no
checking for gethrtime... no
checking for gettimeofday... yes
checking for memset... yes
checking for pow... yes
checking for sqrt... yes
checking for strerror... yes
checking for strstr... yes
checking for strtoul... yes
checking whether _LARGEFILE_SOURCE is declared... no
checking build system type... s390x-ibm-linux-gnu
checking host system type... s390x-ibm-linux-gnu
checking that generated files are newer than configure... done
configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands

[linux1@i4l-2 build]$ make
make  all-am
make[1]: Entering directory `/home/linux1/mlucas/mlucas-14.1/build'
  CC       $NORMAL_O $THREADS_O
make[1]: *** [NORMAL_O-THREADS_O.stamp] Error 1
make[1]: Leaving directory `/home/linux1/mlucas/mlucas-14.1/build'
make: *** [all] Error 2
chalsall is offline   Reply With Quote
Old 2016-02-05, 17:26   #6
ET_
Banned
 
ET_'s Avatar
 
"Luigi"
Aug 2002
Team Italia

22·1,193 Posts
Default

Quote:
Originally Posted by chalsall View Post
I know this is an experiment by IBM, but it's not going to compete with EC2 nor Google Compute et al any time soon.
Would you mind to elaborate?

Luigi
ET_ is offline   Reply With Quote
Old 2016-02-05, 17:33   #7
Dubslow
Basketry That Evening!
 
Dubslow's Avatar
 
"Bunslow the Bold"
Jun 2011
40<A<43 -89<O<-88

722110 Posts
Default

Quote:
Originally Posted by chalsall View Post
Fair enough...
Code:
[linux1@i4l-2 build]$ make
make  all-am
make[1]: Entering directory `/home/linux1/mlucas/mlucas-14.1/build'
  CC       $NORMAL_O $THREADS_O
make[1]: *** [NORMAL_O-THREADS_O.stamp] Error 1
make[1]: Leaving directory `/home/linux1/mlucas/mlucas-14.1/build'
make: *** [all] Error 2
What a perfectly useless error message. I see now why you didn't immediately include it.
Dubslow is offline   Reply With Quote
Old 2016-02-05, 17:42   #8
chalsall
If I May
 
chalsall's Avatar
 
"Chris Halsall"
Sep 2002
Barbados

3·55 Posts
Default

Quote:
Originally Posted by ET_ View Post
Would you mind to elaborate?
Sure...

As much as I hate to say it, Intel has mostly won the assembly race. As in, most code is targeted to x86 (and this is coming from someone who hates x86; I much prefer 680x0 assembly (may it rest in peace)).

Even source code in C, C++ etc might not work under a different platform. This might be because of the build environment not being truly cross-platform, or because there are subtle bugs in the code which don't manifest under the most commonly used CPUs. Yes, this does mean the code is buggy, but most don't care -- they just want the code to work for them without hassle.

At the end of the day, my argument is that cloud computing providers need to provide x86 based virtual machines to (almost all of) their customers, or they're just not going to get traction.
chalsall is offline   Reply With Quote
Old 2016-02-05, 17:50   #9
ET_
Banned
 
ET_'s Avatar
 
"Luigi"
Aug 2002
Team Italia

22·1,193 Posts
Default

Quote:
Originally Posted by chalsall View Post
...
At the end of the day, my argument is that cloud computing providers need to provide x86 based virtual machines to (almost all of) their customers, or they're just not going to get traction.
I am working with servers in cloud, and notice that even on x86 architectures, one "virtual CPU" equals 40%-50% of a real one. If the IBM fellows deliver a virtual CPU worth 60%-65% of a real CPU, they would win the race.

That "virtual CPu" thingie is going to take the place of the "minimum guaranteed upload bandwidth" for ADSL...

Last fiddled with by ET_ on 2016-02-05 at 17:50
ET_ is offline   Reply With Quote
Old 2016-02-05, 18:03   #10
chalsall
If I May
 
chalsall's Avatar
 
"Chris Halsall"
Sep 2002
Barbados

100100100111112 Posts
Default

Quote:
Originally Posted by ET_ View Post
I am working with servers in cloud, and notice that even on x86 architectures, one "virtual CPU" equals 40%-50% of a real one. If the IBM fellows deliver a virtual CPU worth 60%-65% of a real CPU, they would win the race.
I also mostly work in "the cloud". For my serious work I lease dedicated servers, where I get 100% of the machine.

For my "on demand" work I sometimes go "virtual". And, if you know what you're doing, you can get ~99% of a machine for pennies on the dollar.

IBM is not going to win this race unless and until they offer x86 instances. And, so you know, I ran a simple benchmark from the command line, and their instance was half the speed of my desktop (one CPU used on each).
chalsall is offline   Reply With Quote
Old 2016-02-05, 18:31   #11
alexvong1995
 
Dec 2014

37 Posts
Default

Quote:
Originally Posted by chalsall View Post
Fair enough...
Code:
[linux1@i4l-2 build]$ cat /proc/cpuinfo 
vendor_id       : IBM/S390
# processors    : 2
bogomips per cpu: 20325.00
features    : esan3 zarch stfle msa ldisp eimm dfp    etf3eh highgprs 
processor 0: version = FF,  identification = 016A77,     machine = 2964
processor 1: version = FF,  identification = 016A77,     machine = 2964

[linux1@i4l-2 build]$ uname -a
Linux i4l-2 2.6.32-573.12.1.el6.s390x #1 SMP Mon Nov 23 12:58:30 EST    2015 s390x s390x s390x GNU/Linux

[linux1@i4l-2 build]$ pwd
/home/linux1/mlucas/mlucas-14.1/build

[linux1@i4l-2 build]$ ../configure 
checking for a BSD-compatible install... /usr/bin/install -c
checking whether build environment is sane... yes
checking for a thread-safe mkdir -p... /bin/mkdir -p
checking for gawk... gawk
checking whether make sets $(MAKE)... yes
checking whether make supports nested variables... yes
checking whether make supports nested variables... (cached) yes
   checking for gcc... gcc
checking whether the C compiler works... yes
checking for C compiler default output file name... a.out
checking for suffix of executables... 
checking whether we are cross compiling... no
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking whether gcc understands -c and -o together... yes
checking for style of include used by make... GNU
checking dependency style of gcc... none
checking for library containing ceil, log, pow, sqrt, sincos, floor,    lrint, atan... -lm
checking how to run the C preprocessor... gcc -E
checking for grep that handles long lines and -e... /bin/grep
   checking for egrep... /bin/grep -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking fenv.h usability... yes
checking fenv.h presence... yes
checking for fenv.h... yes
checking limits.h usability... yes
checking limits.h presence... yes
checking for limits.h... yes
checking mach/mach.h usability... no
checking mach/mach.h presence... no
checking for mach/mach.h... no
checking stddef.h usability... yes
checking stddef.h presence... yes
checking for stddef.h... yes
checking for stdlib.h... (cached) yes
checking for string.h... (cached) yes
checking sys/time.h usability... yes
checking sys/time.h presence... yes
checking for sys/time.h... yes
checking for unistd.h... (cached) yes
checking for stdbool.h that conforms to C99... yes
checking for _Bool... yes
checking for inline... inline
checking for pid_t... yes
checking for size_t... yes
checking for uint64_t... yes
checking for stdlib.h... (cached) yes
checking for GNU libc compatible malloc... yes
checking for stdlib.h... (cached) yes
checking for GNU libc compatible realloc... yes
checking for clock_gettime... no
checking for gethrtime... no
checking for gettimeofday... yes
checking for memset... yes
checking for pow... yes
checking for sqrt... yes
checking for strerror... yes
checking for strstr... yes
checking for strtoul... yes
checking whether _LARGEFILE_SOURCE is declared... no
checking build system type... s390x-ibm-linux-gnu
checking host system type... s390x-ibm-linux-gnu
checking that generated files are newer than configure... done
   configure: creating ./config.status
config.status: creating Makefile
config.status: creating config.h
config.status: config.h is unchanged
config.status: executing depfiles commands

[linux1@i4l-2 build]$ make
make  all-am
make[1]: Entering directory    `/home/linux1/mlucas/mlucas-14.1/build'
  CC       $NORMAL_O    $THREADS_O
make[1]: *** [NORMAL_O-THREADS_O.stamp] Error 1
make[1]: Leaving directory `/home/linux1/mlucas/mlucas-14.1/build'
   make: *** [all] Error 2
Hi people, could you try appending --enable-verbose-compiler and --disable-silent-rule when running configure and paste the output? (I don't want to give away my phone number to register...) Currently, Mlucas only compiles and passes the self-test on 4 targets when building it on Debian. It would be great if it compiles targets other than x86 and powerpc as well. Besides, do you think compiler warnings and verbose rule should be enabled by default? I used to think it is too verbose but it seems the short error message is pretty useless.

Last fiddled with by alexvong1995 on 2016-02-05 at 18:41
alexvong1995 is offline   Reply With Quote
Reply

Thread Tools


Similar Threads
Thread Thread Starter Forum Replies Last Post
Mlucas and mprime on the same box daxmick Software 5 2018-01-05 09:48
Mlucas on ubuntu Damian Mlucas 17 2017-11-13 18:12
Mlucas version 17 ewmayer Mlucas 3 2017-06-17 11:18
Mlucas on Sparc - Unregistered Mlucas 0 2009-10-27 20:35
mlucas on sun delta_t Mlucas 14 2007-10-04 05:45

All times are UTC. The time now is 09:37.

Sat Dec 5 09:37:13 UTC 2020 up 2 days, 5:48, 0 users, load averages: 1.26, 1.55, 1.55

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, 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.