[mpich2-dev] configure MPICH2 without TLS?

Dave Goodell goodell at mcs.anl.gov
Tue Aug 28 14:31:51 CDT 2012


[catching up from vacation email backlog]

Or export "ac_cv_tls=none" in your environment before configuring.

-Dave

On Aug 16, 2012, at 8:46 PM CDT, Darius Buntinas wrote:

> Perhaps we should add a configure option for this, but for now try removing 
>  AX_TLS
> in configure.ac
> 
> -d
> 
> 
> On Aug 16, 2012, at 7:34 PM, Jeff Hammond wrote:
> 
>> Is it possible to configure MPICH2 to not use thread local variables?
>> These are causing LLVM to crash when compiling MPICH2 on BGQ.
>> 
>> Thanks,
>> 
>> Jeff
>> 
>> On Thu, Aug 16, 2012 at 5:33 PM, Hal Finkel <hfinkel at anl.gov> wrote:
>>> Jeff,
>>> 
>>> Can you configure MPICH not to use thread local variables. Pthreads instead
>>> of __thread.
>>> 
>>> This is kind of a known PPC issue.
>>> 
>>> -Hal
>>> 
>>> Sent from my Verizon Wireless Droid
>>> 
>>> 
>>> -----Original message-----
>>> 
>>> From: Jeff Hammond <jhammond at alcf.anl.gov>
>>> To: Hal Finkel <hfinkel at anl.gov>
>>> Sent: Fri, Aug 17, 2012 00:16:00 GMT+00:00
>>> Subject: LLVM ICE on MPICH2
>>> 
>>> I put the offending source in ~jhammond/LLVM. The whole
>>> ~jhammond/MPICH tree should be world-readable so you should be able to
>>> get all the headers.
>>> 
>>> Thanks,
>>> 
>>> Jeff
>>> 
>>> make[3]: Entering directory
>>> `/gpfs/vesta_home/jhammond/MPICH/mpich2-bgq-V1R1M1/build-clang/src/mpi/coll'
>>> CC /home/jhammond/MPICH/mpich2-bgq-V1R1M1/src/mpi/coll/reduce.c
>>> /home/jhammond/MPICH/mpich2-bgq-V1R1M1/src/mpi/coll/reduce.c:302:31:
>>> warning: equality comparison with extraneous parentheses
>>> [-Wparentheses-equality]
>>> if ((op_ptr->language == MPID_LANG_C))
>>> ~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~
>>> /home/jhammond/MPICH/mpich2-bgq-V1R1M1/src/mpi/coll/reduce.c:302:31:
>>> note: remove extraneous parentheses around the comparison to silence
>>> this warning
>>> if ((op_ptr->language == MPID_LANG_C))
>>> ~ ^ ~
>>> /home/jhammond/MPICH/mpich2-bgq-V1R1M1/src/mpi/coll/reduce.c:302:31:
>>> note: use '=' to turn this equality comparison into an assignment
>>> if ((op_ptr->language == MPID_LANG_C))
>>> ^~
>>> =
>>> only local-exec TLS mode supported
>>> UNREACHABLE executed at
>>> /home/hfinkel/src/llvm-trunk-dev-q/lib/Target/PowerPC/PPCISelLowering.cpp:1444!
>>> 0 clang 0x0000000011dd9e1c
>>> 1 clang 0x0000000011ddabb4
>>> 2 0x00000fff8df00418 __kernel_sigtramp_rt64 + 0
>>> 3 libc.so.6 0x000000801b396ed8 abort + 18446744073708064136
>>> 4 clang 0x0000000011dbe574 llvm::llvm_unreachable_internal(char
>>> const*, char const*, unsigned int) + 18446744073698686052
>>> 5 clang 0x0000000011424080
>>> llvm::PPCTargetLowering::LowerGlobalTLSAddress(llvm::SDValue,
>>> llvm::SelectionDAG&) const + 18446744073688834928
>>> 6 clang 0x0000000011448d34
>>> llvm::PPCTargetLowering::LowerOperation(llvm::SDValue,
>>> llvm::SelectionDAG&) const + 18446744073688984340
>>> 7 clang 0x00000000116725b0
>>> 8 clang 0x00000000116743b8 llvm::SelectionDAG::Legalize() +
>>> 18446744073691227224
>>> 9 clang 0x0000000011631378
>>> llvm::SelectionDAGISel::CodeGenAndEmitDAG() + 18446744073690954584
>>> 10 clang 0x0000000011633dc8
>>> llvm::SelectionDAGISel::SelectBasicBlock(llvm::ilist_iteratorconst>,
>>> llvm::ilist_iterator, bool&) +
>>> 
>>> 18446744073690965384
>>> 11 clang 0x000000001163480c
>>> llvm::SelectionDAGISel::SelectAllBasicBlocks(llvm::Function const&) +
>>> 18446744073690967996
>>> 12 clang 0x0000000011635d60
>>> llvm::SelectionDAGISel::runOnMachineFunction(llvm::MachineFunction&) +
>>> 18446744073690973440
>>> 13 clang 0x000000001141c134
>>> 14 clang 0x00000000117aebac
>>> llvm::MachineFunctionPass::runOnFunction(llvm::Function&) +
>>> 18446744073692485980
>>> 15 clang 0x0000000011d62550
>>> llvm::FPPassManager::runOnFunction(llvm::Function&) +
>>> 18446744073698322912
>>> 16 clang 0x0000000011d6269c
>>> llvm::FPPassManager::runOnModule(llvm::Module&) + 18446744073698323228
>>> 17 clang 0x0000000011d63470
>>> llvm::MPPassManager::runOnModule(llvm::Module&) + 18446744073698326624
>>> 18 clang 0x0000000011d63944
>>> llvm::PassManagerImpl::run(llvm::Module&) + 18446744073698327828
>>> 19 clang 0x0000000011d63a04 llvm::PassManager::run(llvm::Module&)
>>> + 18446744073698328004
>>> 20 clang 0x0000000010406dc4
>>> clang::EmitBackendOutput(clang::DiagnosticsEngine&,
>>> clang::CodeGenOptions const&, clang::TargetOptions const&,
>>> clang::LangOptions const&, llvm::Module*, clang::BackendAction,
>>> llvm::raw_ostream*) + 18446744073672339572
>>> 21 clang 0x0000000010403c74
>>> 22 clang 0x0000000010583700 clang::ParseAST(clang::Sema&, bool,
>>> bool) + 18446744073673863872
>>> 23 clang 0x000000001027f3e0
>>> clang::ASTFrontendAction::ExecuteAction() + 18446744073670778416
>>> 24 clang 0x0000000010401888 clang::CodeGenAction::ExecuteAction()
>>> + 18446744073672318168
>>> 25 clang 0x000000001027f884 clang::FrontendAction::Execute() +
>>> 18446744073670779476
>>> 26 clang 0x000000001025ce1c
>>> clang::CompilerInstance::ExecuteAction(clang::FrontendAction&) +
>>> 18446744073670639036
>>> 27 clang 0x000000001023f404
>>> clang::ExecuteCompilerInvocation(clang::CompilerInstance*) +
>>> 18446744073670523140
>>> 28 clang 0x0000000010233df8 cc1_main(char const**, char const**,
>>> char const*, void*) + 18446744073670476968
>>> 29 clang 0x000000001023da80 main + 18446744073670516624
>>> 30 libc.so.6 0x000000801b37bcd8
>>> 31 libc.so.6 0x000000801b37bed0 __libc_start_main + 18446744073707958784
>>> Stack dump:
>>> 0. Program arguments:
>>> /gpfs/vesta_home/projects/llvm/r161120-20120801/bin/clang -cc1 -triple
>>> powerpc64-bgq-linux -S -disable-free -main-file-name reduce.c
>>> -static-define -mrelocation-model static -mdisable-fp-elim
>>> -fmath-errno -ffp-contract=fast -mconstructor-aliases -target-cpu a2q
>>> -target-linker-version 2.20.51.0.2 -momit-leaf-frame-pointer -g
>>> -coverage-file /tmp/reduce-1Os2OP.s -resource-dir
>>> /gpfs/vesta_home/projects/llvm/r161120-20120801/bin/../lib/clang/3.2
>>> -D HAVE_CONFIG_H -D __BGQ__ -I . -I
>>> /home/jhammond/MPICH/mpich2-bgq-V1R1M1/src/mpi/coll -I ../../include
>>> -I /home/jhammond/MPICH/mpich2-bgq-V1R1M1/src/include -I
>>> /home/jhammond/MPICH/mpich2-bgq-V1R1M1/src/mpi/datatype -I
>>> /bgsys/drivers/ppcfloor/comm/sys/include -I /bgsys/drivers/ppcfloor -I
>>> /bgsys/drivers/ppcfloor/spi/include -I
>>> /bgsys/drivers/ppcfloor/spi/include/kernel/cnk -I
>>> /home/jhammond/MPICH/mpich2-bgq-V1R1M1/build-clang/src/mpl/include -I
>>> /home/jhammond/MPICH/mpich2-bgq-V1R1M1/src/mpl/include -I
>>> /home/jhammond/MPICH/mpich2-bgq-V1R1M1/src/openpa/src -I
>>> /home/jhammond/MPICH/mpich2-bgq-V1R1M1/build-clang/src/openpa/src -I
>>> /home/jhammond/MPICH/mpich2-bgq-V1R1M1/build-clang/src/mpid/pamid/include
>>> -I /home/jhammond/MPICH/mpich2-bgq-V1R1M1/src/mpid/pamid/include -I
>>> /home/jhammond/MPICH/mpich2-bgq-V1R1M1/build-clang/src/mpid/common/datatype
>>> -I /home/jhammond/MPICH/mpich2-bgq-V1R1M1/src/mpid/common/datatype -I
>>> /home/jhammond/MPICH/mpich2-bgq-V1R1M1/build-clang/src/mpid/common/locks
>>> -I /home/jhammond/MPICH/mpich2-bgq-V1R1M1/src/mpid/common/locks -I
>>> /bgsys/drivers/ppcfloor/comm/sys/include -I /bgsys/drivers/ppcfloor -I
>>> /bgsys/drivers/ppcfloor/spi/include -I
>>> /bgsys/drivers/ppcfloor/spi/include/kernel/cnk -fmodule-cache-path
>>> /var/tmp/clang-module-cache -internal-isystem /usr/local/include
>>> -internal-isystem
>>> /gpfs/vesta_home/projects/llvm/r161120-20120801/bin/../lib/clang/3.2/include
>>> -internal-externc-isystem /include -internal-externc-isystem
>>> /usr/include -O3 -fno-dwarf-directory-asm -fdebug-compilation-dir
>>> /home/jhammond/MPICH/mpich2-bgq-V1R1M1/build-clang/src/mpi/coll
>>> -ferror-limit 19 -fmessage-length 223 -mstackrealign -fno-signed-char
>>> -fgnu89-inline -fobjc-runtime=gcc -fdiagnostics-show-option
>>> -fcolor-diagnostics -isystem
>>> /bgsys/drivers/ppcfloor/gnu-linux/powerpc64-bgq-linux/sys-include
>>> -mllvm -unroll-allow-partial -mllvm -unroll-runtime -mllvm -vectorize
>>> -mllvm -bb-vectorize-vector-bits=256 -mllvm
>>> -bb-vectorize-req-chain-depth=3 -mllvm -bb-vectorize-aligned-only
>>> -mllvm -bb-vectorize-no-ints -mllvm -bb-vectorize-no-pointers -mllvm
>>> -bb-vectorize-no-gep -o /tmp/reduce-1Os2OP.s -x c
>>> /home/jhammond/MPICH/mpich2-bgq-V1R1M1/src/mpi/coll/reduce.c
>>> 1. parser at end of file
>>> 
>>> 2. Code generation
>>> 3. Running pass 'Function Pass Manager' on module
>>> '/home/jhammond/MPICH/mpich2-bgq-V1R1M1/src/mpi/coll/reduce.c'.
>>> 4. Running pass 'PowerPC DAG->DAG Pattern Instruction Selection' on
>>> function '@MPIR_Reduce_intra'
>>> clang: error: unable to execute command: Aborted (core dumped)
>>> clang: error: clang frontend command failed due to signal (use -v to
>>> see invocation)
>>> clang version 3.2 (login1.mcs.anl.gov:src/llvm-trunk/tools/clang
>>> ba48291cfc06bd79f726b44a21eedd340f0db9cc)
>>> (login1.mcs.anl.gov:src/llvm-trunk
>>> b85b25962c78638a27185d0eb4c1a514b25d75a4)
>>> Target: powerpc64-bgq-linux
>>> Thread model: posix
>>> clang: note: diagnostic msg: PLEASE submit a bug report to
>>> http://llvm.org/bugs/ and include the crash backtrace, preprocessed
>>> source, and associated run script.
>>> clang: note: diagnostic msg:
>>> ********************
>>> 
>>> PLEASE ATTACH THE FOLLOWING FILES TO THE BUG REPORT:
>>> Preprocessed source(s) and associated run script(s) are located at:
>>> clang: note: diagnostic msg: /tmp/reduce-JBxGnk.c
>>> clang: note: diagnostic msg: /tmp/reduce-JBxGnk.sh
>>> clang: note: diagnostic msg:
>>> 
>>> ********************
>>> make[3]: *** [reduce.o] Error 254
>>> make[3]: Leaving directory
>>> `/gpfs/vesta_home/jhammond/MPICH/mpich2-bgq-V1R1M1/build-clang/src/mpi/coll'
>>> make[2]: *** [all-redirect] Error 2
>>> make[2]: Leaving directory
>>> `/gpfs/vesta_home/jhammond/MPICH/mpich2-bgq-V1R1M1/build-clang/src/mpi'
>>> make[1]: *** [all-redirect] Error 2
>>> make[1]: Leaving directory
>>> `/gpfs/vesta_home/jhammond/MPICH/mpich2-bgq-V1R1M1/build-clang/src'
>>> make: *** [all-redirect] Error 2
>>> 
>>> 
>>> --
>>> Jeff Hammond
>>> Argonne Leadership Computing Facility
>>> University of Chicago Computation Institute
>>> jhammond at alcf.anl.gov / (630) 252-5381
>>> http://www.linkedin.com/in/jeffhammond
>>> https://wiki.alcf.anl.gov/parts/index.php/User:Jhammond
>> 
>> 
>> 
>> -- 
>> Jeff Hammond
>> Argonne Leadership Computing Facility
>> University of Chicago Computation Institute
>> jhammond at alcf.anl.gov / (630) 252-5381
>> http://www.linkedin.com/in/jeffhammond
>> https://wiki.alcf.anl.gov/parts/index.php/User:Jhammond
> 



More information about the mpich2-dev mailing list