Discussion:
[OMPI users] NAS benchmark
Mahmood Naderan
2018-02-03 08:48:31 UTC
Permalink
Hi,
Any body has tried NAS benchmark with ompi? I get the following linker
error while building one of the benchmarks.

[***@rocks7 NPB3.3-MPI]$ make BT NPROCS=4 CLASS=D
=========================================
= NAS Parallel Benchmarks 3.3 =
= MPI/F77/C =
=========================================

cd BT; make NPROCS=4 CLASS=D SUBTYPE= VERSION=
make[1]: Entering directory `/home/mahmood/Downloads/NPB3.3.1/NPB3.3-MPI/BT'
make[2]: Entering directory
`/home/mahmood/Downloads/NPB3.3.1/NPB3.3-MPI/sys'
cc -g -o setparams setparams.c
make[2]: Leaving directory `/home/mahmood/Downloads/NPB3.3.1/NPB3.3-MPI/sys'
../sys/setparams bt 4 D
make[2]: Entering directory `/home/mahmood/Downloads/NPB3.3.1/NPB3.3-MPI/BT'
make.def modified. Rebuilding npbparams.h just in case
rm -f npbparams.h
../sys/setparams bt 4 D
mpif90 -c -I/usr/local/include -O bt.f
mpif90 -c -I/usr/local/include -O make_set.f
mpif90 -c -I/usr/local/include -O initialize.f
mpif90 -c -I/usr/local/include -O exact_solution.f
mpif90 -c -I/usr/local/include -O exact_rhs.f
mpif90 -c -I/usr/local/include -O set_constants.f
mpif90 -c -I/usr/local/include -O adi.f
mpif90 -c -I/usr/local/include -O define.f
mpif90 -c -I/usr/local/include -O copy_faces.f
mpif90 -c -I/usr/local/include -O rhs.f
mpif90 -c -I/usr/local/include -O solve_subs.f
mpif90 -c -I/usr/local/include -O x_solve.f
mpif90 -c -I/usr/local/include -O y_solve.f
mpif90 -c -I/usr/local/include -O z_solve.f
mpif90 -c -I/usr/local/include -O add.f
mpif90 -c -I/usr/local/include -O error.f
mpif90 -c -I/usr/local/include -O verify.f
mpif90 -c -I/usr/local/include -O setup_mpi.f
make[3]: Entering directory `/home/mahmood/Downloads/NPB3.3.1/NPB3.3-MPI/BT'
mpif90 -c -I/usr/local/include -O btio.f
mpif90 -O -o ../bin/bt.D.4 bt.o make_set.o initialize.o exact_solution.o
exact_rhs.o set_constants.o adi.o define.o copy_faces.o rhs.o solve_subs.o
x_solve.o y_solve.o z_solve.o add.o error.o verify.o setup_mpi.o
../common/print_results.o ../common/timers.o btio.o -L/usr/local/lib -lmpi
x_solve.o: In function `x_solve_cell_':
x_solve.f:(.text+0x77a): relocation truncated to fit: R_X86_64_32 against
symbol `work_lhs_' defined in COMMON section in x_solve.o
x_solve.f:(.text+0x77f): relocation truncated to fit: R_X86_64_32 against
symbol `work_lhs_' defined in COMMON section in x_solve.o
x_solve.f:(.text+0x946): relocation truncated to fit: R_X86_64_32S against
symbol `work_lhs_' defined in COMMON section in x_solve.o
x_solve.f:(.text+0x94e): relocation truncated to fit: R_X86_64_32S against
symbol `work_lhs_' defined in COMMON section in x_solve.o
x_solve.f:(.text+0x958): relocation truncated to fit: R_X86_64_32S against
symbol `work_lhs_' defined in COMMON section in x_solve.o
x_solve.f:(.text+0x962): relocation truncated to fit: R_X86_64_32S against
symbol `work_lhs_' defined in COMMON section in x_solve.o
x_solve.f:(.text+0x96c): relocation truncated to fit: R_X86_64_32S against
symbol `work_lhs_' defined in COMMON section in x_solve.o
x_solve.f:(.text+0x9ab): relocation truncated to fit: R_X86_64_32S against
symbol `work_lhs_' defined in COMMON section in x_solve.o
x_solve.f:(.text+0x9c6): relocation truncated to fit: R_X86_64_32S against
symbol `work_lhs_' defined in COMMON section in x_solve.o
x_solve.f:(.text+0x9f3): relocation truncated to fit: R_X86_64_32S against
symbol `work_lhs_' defined in COMMON section in x_solve.o
x_solve.f:(.text+0xa21): additional relocation overflows omitted from the
output
collect2: error: ld returned 1 exit status
make[3]: *** [bt-bt] Error 1
make[3]: Leaving directory `/home/mahmood/Downloads/NPB3.3.1/NPB3.3-MPI/BT'
make[2]: *** [exec] Error 2
make[2]: Leaving directory `/home/mahmood/Downloads/NPB3.3.1/NPB3.3-MPI/BT'
make[1]: *** [../bin/bt.D.4] Error 2
make[1]: Leaving directory `/home/mahmood/Downloads/NPB3.3.1/NPB3.3-MPI/BT'
make: *** [bt] Error 2


There is a good guide about that (
https://www.technovelty.org/c/relocation-truncated-to-fit-wtf.html) but I
don't know which compiler flag should I fix to fix that.

Any idea?

Regards,
Mahmood
Matt Thompson
2018-02-03 13:07:44 UTC
Permalink
Well, whenever I see a "relocation truncated to fit" error, my first
thought is to add "-mcmodel=medium" to the compile flags. I'm surprised NAS
Benchmarks need it, though.
Post by Mahmood Naderan
Hi,
Any body has tried NAS benchmark with ompi? I get the following linker
error while building one of the benchmarks.
=========================================
= NAS Parallel Benchmarks 3.3 =
= MPI/F77/C =
=========================================
cd BT; make NPROCS=4 CLASS=D SUBTYPE= VERSION=
make[1]: Entering directory `/home/mahmood/Downloads/NPB3.
3.1/NPB3.3-MPI/BT'
make[2]: Entering directory `/home/mahmood/Downloads/NPB3.
3.1/NPB3.3-MPI/sys'
cc -g -o setparams setparams.c
make[2]: Leaving directory `/home/mahmood/Downloads/NPB3.
3.1/NPB3.3-MPI/sys'
../sys/setparams bt 4 D
make[2]: Entering directory `/home/mahmood/Downloads/NPB3.
3.1/NPB3.3-MPI/BT'
make.def modified. Rebuilding npbparams.h just in case
rm -f npbparams.h
../sys/setparams bt 4 D
mpif90 -c -I/usr/local/include -O bt.f
mpif90 -c -I/usr/local/include -O make_set.f
mpif90 -c -I/usr/local/include -O initialize.f
mpif90 -c -I/usr/local/include -O exact_solution.f
mpif90 -c -I/usr/local/include -O exact_rhs.f
mpif90 -c -I/usr/local/include -O set_constants.f
mpif90 -c -I/usr/local/include -O adi.f
mpif90 -c -I/usr/local/include -O define.f
mpif90 -c -I/usr/local/include -O copy_faces.f
mpif90 -c -I/usr/local/include -O rhs.f
mpif90 -c -I/usr/local/include -O solve_subs.f
mpif90 -c -I/usr/local/include -O x_solve.f
mpif90 -c -I/usr/local/include -O y_solve.f
mpif90 -c -I/usr/local/include -O z_solve.f
mpif90 -c -I/usr/local/include -O add.f
mpif90 -c -I/usr/local/include -O error.f
mpif90 -c -I/usr/local/include -O verify.f
mpif90 -c -I/usr/local/include -O setup_mpi.f
make[3]: Entering directory `/home/mahmood/Downloads/NPB3.
3.1/NPB3.3-MPI/BT'
mpif90 -c -I/usr/local/include -O btio.f
mpif90 -O -o ../bin/bt.D.4 bt.o make_set.o initialize.o exact_solution.o
exact_rhs.o set_constants.o adi.o define.o copy_faces.o rhs.o solve_subs.o
x_solve.o y_solve.o z_solve.o add.o error.o verify.o setup_mpi.o
../common/print_results.o ../common/timers.o btio.o -L/usr/local/lib -lmpi
x_solve.f:(.text+0x77a): relocation truncated to fit: R_X86_64_32 against
symbol `work_lhs_' defined in COMMON section in x_solve.o
x_solve.f:(.text+0x77f): relocation truncated to fit: R_X86_64_32 against
symbol `work_lhs_' defined in COMMON section in x_solve.o
x_solve.f:(.text+0x946): relocation truncated to fit: R_X86_64_32S against
symbol `work_lhs_' defined in COMMON section in x_solve.o
x_solve.f:(.text+0x94e): relocation truncated to fit: R_X86_64_32S against
symbol `work_lhs_' defined in COMMON section in x_solve.o
x_solve.f:(.text+0x958): relocation truncated to fit: R_X86_64_32S against
symbol `work_lhs_' defined in COMMON section in x_solve.o
x_solve.f:(.text+0x962): relocation truncated to fit: R_X86_64_32S against
symbol `work_lhs_' defined in COMMON section in x_solve.o
x_solve.f:(.text+0x96c): relocation truncated to fit: R_X86_64_32S against
symbol `work_lhs_' defined in COMMON section in x_solve.o
x_solve.f:(.text+0x9ab): relocation truncated to fit: R_X86_64_32S against
symbol `work_lhs_' defined in COMMON section in x_solve.o
x_solve.f:(.text+0x9c6): relocation truncated to fit: R_X86_64_32S against
symbol `work_lhs_' defined in COMMON section in x_solve.o
x_solve.f:(.text+0x9f3): relocation truncated to fit: R_X86_64_32S against
symbol `work_lhs_' defined in COMMON section in x_solve.o
x_solve.f:(.text+0xa21): additional relocation overflows omitted from the
output
collect2: error: ld returned 1 exit status
make[3]: *** [bt-bt] Error 1
make[3]: Leaving directory `/home/mahmood/Downloads/NPB3.
3.1/NPB3.3-MPI/BT'
make[2]: *** [exec] Error 2
make[2]: Leaving directory `/home/mahmood/Downloads/NPB3.
3.1/NPB3.3-MPI/BT'
make[1]: *** [../bin/bt.D.4] Error 2
make[1]: Leaving directory `/home/mahmood/Downloads/NPB3.
3.1/NPB3.3-MPI/BT'
make: *** [bt] Error 2
There is a good guide about that (https://www.technovelty.org/
c/relocation-truncated-to-fit-wtf.html) but I don't know which compiler
flag should I fix to fix that.
Any idea?
Regards,
Mahmood
_______________________________________________
users mailing list
https://lists.open-mpi.org/mailman/listinfo/users
--
Matt Thompson
“The fact is, this is about us identifying what we do best and
finding more ways of doing less of it better” -- Director of Better Anna
Rampton
Mahmood Naderan
2018-02-04 07:16:28 UTC
Permalink
Thanks for that. I have to use that as both compiler and linker options.

Regards,
Mahmood
Post by Matt Thompson
Well, whenever I see a "relocation truncated to fit" error, my first
thought is to add "-mcmodel=medium" to the compile flags. I'm surprised NAS
Benchmarks need it, though.
Post by Mahmood Naderan
Hi,
Any body has tried NAS benchmark with ompi? I get the following linker
error while building one of the benchmarks.
=========================================
= NAS Parallel Benchmarks 3.3 =
= MPI/F77/C =
=========================================
cd BT; make NPROCS=4 CLASS=D SUBTYPE= VERSION=
make[1]: Entering directory `/home/mahmood/Downloads/NPB3.
3.1/NPB3.3-MPI/BT'
make[2]: Entering directory `/home/mahmood/Downloads/NPB3.
3.1/NPB3.3-MPI/sys'
cc -g -o setparams setparams.c
make[2]: Leaving directory `/home/mahmood/Downloads/NPB3.
3.1/NPB3.3-MPI/sys'
../sys/setparams bt 4 D
make[2]: Entering directory `/home/mahmood/Downloads/NPB3.
3.1/NPB3.3-MPI/BT'
make.def modified. Rebuilding npbparams.h just in case
rm -f npbparams.h
../sys/setparams bt 4 D
mpif90 -c -I/usr/local/include -O bt.f
mpif90 -c -I/usr/local/include -O make_set.f
mpif90 -c -I/usr/local/include -O initialize.f
mpif90 -c -I/usr/local/include -O exact_solution.f
mpif90 -c -I/usr/local/include -O exact_rhs.f
mpif90 -c -I/usr/local/include -O set_constants.f
mpif90 -c -I/usr/local/include -O adi.f
mpif90 -c -I/usr/local/include -O define.f
mpif90 -c -I/usr/local/include -O copy_faces.f
mpif90 -c -I/usr/local/include -O rhs.f
mpif90 -c -I/usr/local/include -O solve_subs.f
mpif90 -c -I/usr/local/include -O x_solve.f
mpif90 -c -I/usr/local/include -O y_solve.f
mpif90 -c -I/usr/local/include -O z_solve.f
mpif90 -c -I/usr/local/include -O add.f
mpif90 -c -I/usr/local/include -O error.f
mpif90 -c -I/usr/local/include -O verify.f
mpif90 -c -I/usr/local/include -O setup_mpi.f
make[3]: Entering directory `/home/mahmood/Downloads/NPB3.
3.1/NPB3.3-MPI/BT'
mpif90 -c -I/usr/local/include -O btio.f
mpif90 -O -o ../bin/bt.D.4 bt.o make_set.o initialize.o exact_solution.o
exact_rhs.o set_constants.o adi.o define.o copy_faces.o rhs.o solve_subs.o
x_solve.o y_solve.o z_solve.o add.o error.o verify.o setup_mpi.o
../common/print_results.o ../common/timers.o btio.o -L/usr/local/lib -lmpi
x_solve.f:(.text+0x77a): relocation truncated to fit: R_X86_64_32 against
symbol `work_lhs_' defined in COMMON section in x_solve.o
x_solve.f:(.text+0x77f): relocation truncated to fit: R_X86_64_32 against
symbol `work_lhs_' defined in COMMON section in x_solve.o
x_solve.f:(.text+0x946): relocation truncated to fit: R_X86_64_32S
against symbol `work_lhs_' defined in COMMON section in x_solve.o
x_solve.f:(.text+0x94e): relocation truncated to fit: R_X86_64_32S
against symbol `work_lhs_' defined in COMMON section in x_solve.o
x_solve.f:(.text+0x958): relocation truncated to fit: R_X86_64_32S
against symbol `work_lhs_' defined in COMMON section in x_solve.o
x_solve.f:(.text+0x962): relocation truncated to fit: R_X86_64_32S
against symbol `work_lhs_' defined in COMMON section in x_solve.o
x_solve.f:(.text+0x96c): relocation truncated to fit: R_X86_64_32S
against symbol `work_lhs_' defined in COMMON section in x_solve.o
x_solve.f:(.text+0x9ab): relocation truncated to fit: R_X86_64_32S
against symbol `work_lhs_' defined in COMMON section in x_solve.o
x_solve.f:(.text+0x9c6): relocation truncated to fit: R_X86_64_32S
against symbol `work_lhs_' defined in COMMON section in x_solve.o
x_solve.f:(.text+0x9f3): relocation truncated to fit: R_X86_64_32S
against symbol `work_lhs_' defined in COMMON section in x_solve.o
x_solve.f:(.text+0xa21): additional relocation overflows omitted from the
output
collect2: error: ld returned 1 exit status
make[3]: *** [bt-bt] Error 1
make[3]: Leaving directory `/home/mahmood/Downloads/NPB3.
3.1/NPB3.3-MPI/BT'
make[2]: *** [exec] Error 2
make[2]: Leaving directory `/home/mahmood/Downloads/NPB3.
3.1/NPB3.3-MPI/BT'
make[1]: *** [../bin/bt.D.4] Error 2
make[1]: Leaving directory `/home/mahmood/Downloads/NPB3.
3.1/NPB3.3-MPI/BT'
make: *** [bt] Error 2
There is a good guide about that (https://www.technovelty.org/c
/relocation-truncated-to-fit-wtf.html) but I don't know which compiler
flag should I fix to fix that.
Any idea?
Regards,
Mahmood
_______________________________________________
users mailing list
https://lists.open-mpi.org/mailman/listinfo/users
--
Matt Thompson
“The fact is, this is about us identifying what we do best and
finding more ways of doing less of it better” -- Director of Better
Anna Rampton
_______________________________________________
users mailing list
https://lists.open-mpi.org/mailman/listinfo/users
Loading...