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