Hello Jeff,

Thank you so much for your response. I was having trouble cross compiling
on the host. I tried following the step from the "How do I build for Intel
Xeon Phi coprocessor?" section of the documentation:

   - # ./configure CC="icc -mmic" --host=x86_64-k1om-linux
   --build=x86_64-unknown-linux-gnu --prefix=/install

It seems to configure, however running make returns the errors:
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------
x86_64-k1om-linux-ld: i386:x86-64 architecture of input file
`.libs/support.o' is incompatible with k1om output
x86_64-k1om-linux-ld: i386:x86-64 architecture of input file
`.libs/topology.o' is incompatible with k1om output
x86_64-k1om-linux-ld: i386:x86-64 architecture of input file `.libs/path.o'
is incompatible with k1om output
x86_64-k1om-linux-ld: i386:x86-64 architecture of input file
`.libs/architecture.o' is incompatible with k1om output
x86_64-k1om-linux-ld: i386:x86-64 architecture of input file
`.libs/hwloc.o' is incompatible with k1om output
x86_64-k1om-linux-ld: i386:x86-64 architecture of input file
`.libs/mpicomm.o' is incompatible with k1om output
x86_64-k1om-linux-ld: .libs/support.o(.text+0x19): unresolvable
R_X86_64_PLT32 relocation against symbol `strchr@@GLIBC_2.14'
x86_64-k1om-linux-ld: .libs/support.o(.text+0x72): unresolvable
R_X86_64_PLT32 relocation against symbol `__getdelim@@GLIBC_2.14'
x86_64-k1om-linux-ld: .libs/support.o(.text+0x87): unresolvable
R_X86_64_PLT32 relocation against symbol `strlen@@GLIBC_2.14'
x86_64-k1om-linux-ld: .libs/topology.o(.text+0x2f): unresolvable
R_X86_64_PLT32 relocation against symbol `__strdup@@GLIBC_2.14'
x86_64-k1om-linux-ld: .libs/topology.o(.text+0x1f5): unresolvable
R_X86_64_PLT32 relocation against symbol `realloc@@GLIBC_2.14'
x86_64-k1om-linux-ld: .libs/topology.o(.text+0x232): unresolvable
R_X86_64_PLT32 relocation against symbol `memcpy@@GLIBC_2.14'
x86_64-k1om-linux-ld: .libs/topology.o(.text+0x26b): unresolvable
R_X86_64_PLT32 relocation against symbol `realloc@@GLIBC_2.14'
x86_64-k1om-linux-ld: .libs/topology.o(.text+0x2cb): unresolvable
R_X86_64_PLT32 relocation against symbol `realloc@@GLIBC_2.14'
x86_64-k1om-linux-ld: .libs/topology.o(.text+0x329): unresolvable
R_X86_64_PLT32 relocation against symbol `memcpy@@GLIBC_2.14'
x86_64-k1om-linux-ld: .libs/topology.o(.text+0x358): unresolvable
R_X86_64_PLT32 relocation against symbol `memcpy@@GLIBC_2.14'
x86_64-k1om-linux-ld: .libs/topology.o(.text+0x374): unresolvable
R_X86_64_PLT32 relocation against symbol `exit@@GLIBC_2.14'
x86_64-k1om-linux-ld: .libs/topology.o(.text+0x3ef): unresolvable
R_X86_64_PLT32 relocation against symbol `strtol@@GLIBC_2.14'
x86_64-k1om-linux-ld: .libs/topology.o(.text+0x431): unresolvable
R_X86_64_PLT32 relocation against symbol `realloc@@GLIBC_2.14'
x86_64-k1om-linux-ld: .libs/topology.o(.text+0x469): unresolvable
R_X86_64_PLT32 relocation against symbol `memcpy@@GLIBC_2.14'
x86_64-k1om-linux-ld: .libs/topology.o(.text+0x487): unresolvable
R_X86_64_PLT32 relocation against symbol `exit@@GLIBC_2.14'
x86_64-k1om-linux-ld: .libs/topology.o(.text+0x6d2): unresolvable
R_X86_64_PLT32 relocation against symbol `hwloc_topology_destroy'
x86_64-k1om-linux-ld: BFD (GNU Binutils) 2.22.52.20120302 internal error,
aborting at
/sandbox/build/tmp/tmp/work/x86_64-nativesdk-mpsssdk-linux/binutils-cross-canadian-k1om-2.22+mpss3.3.5-1/binutils-2.22+mpss3.3.5/bfd/elf64-x86-64.c
line 3382 in elf_x86_64_relocate_section

x86_64-k1om-linux-ld: Please report this bug.

make[1]: *** [libnetloc.la] Error 1
make[1]: Leaving directory `/home/caswell/hwloc/netloc'
make: *** [all-recursive] Error 1
----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Which is why I tried to turn to the on-card installation. But the uOS on
our cards doesn't have utilities like make. Are there other ways to do
on-card installation?

Thank you so much,
Jake

On Mon, Jan 16, 2017 at 11:24 AM, Jeff Hammond <jeff.scie...@gmail.com>
wrote:

> You need to cross-compile binaries for Knights Corner (KNC) aka Xeon Phi
> 71xx if you're on a Xeon host. KNC is x86 but the binary format differs, as
> your analysis indicates.
>
> You can either ssh to card and build native, build on host with k1om GCC
> tool chain, or build on host with Intel compiler and -mmic.
>
> If configure needs to execute binaries, you'll find compiling on the card
> to be the simplest method.
>
> Disclaimer: I work for Intel but haven't touched KNC in a long time.
>
> Jeff
>
> Sent from my iPhone
>
> On Jan 16, 2017, at 9:12 AM, Jacob Peter Caswell <casw...@stolaf.edu>
> wrote:
>
> Hello all,
>
> I'm sorry if this has been brought up before, however I could not
> immediately find a resolution to the problem I'm having.
>
> I'm trying to run hwloc on the Xeon Phi MIC hardware, as I believe this
> <https://www.mail-archive.com/hwloc-users@lists.open-mpi.org/msg00901.html> 
> exchange
> noted that running hwloc-ls on the host only describes the location, as
> well as the core count and memory. I have mounted a NFS drive at /install,
> and have tried to install hwloc from the host onto the shared space using:
>
>    - # ./autogen.sh
>    - # ./configure --prefix=/install
>    - # make
>    - # make install
>
> However, when I run:
>
>    - # /install/bin/hwloc-info
>
> I get the following output:
>
>    - -bash: /install/bin/hwloc-info: cannot execute binary file
>
> According to this
> <https://superuser.com/questions/435988/how-can-i-resolve-the-error-cannot-execute-binary-file#436081>
>  super
> user post, it may likely be that the architectures are incompatible, and
> indeed:
>
>    - # file /install/bin/hwloc-info
>
> outputs:
>
>    - hwloc-info: ELF 64-bit LSB executable, x86-64, version 1 (SYSV),
>    dynamically linked (uses shared libs), for GNU/Linux 2.6.32, BuildID[sha1]=
>    0x43de04bb145de2499255af0cfb1e21ae7736ba5f, not stripped
>
> And:
>
>    - # uname -a
>
> outputs:
>
>    - Linux PhiMachine 2.6.38.8+mpss3.3.5 #1 SMP Thu May 14 10:27:45 PDT
>    2015 k10m GNU/Linux
>
> And
>
>    - # uname -m
>
> returns:
>
>    - k1om
>
> Is this why I cannot natively run hwloc on my MIC hardware? And if so, are
> there any suggestions about potential workarounds?
>
> Thank you all very much,
> Jake
>
>
> _______________________________________________
> hwloc-users mailing list
> hwloc-users@lists.open-mpi.org
> https://rfd.newmexicoconsortium.org/mailman/listinfo/hwloc-users
>
>
> _______________________________________________
> hwloc-users mailing list
> hwloc-users@lists.open-mpi.org
> https://rfd.newmexicoconsortium.org/mailman/listinfo/hwloc-users
>
_______________________________________________
hwloc-users mailing list
hwloc-users@lists.open-mpi.org
https://rfd.newmexicoconsortium.org/mailman/listinfo/hwloc-users

Reply via email to