<div dir="ltr"><div>On a commercial airliner, it's faster only when flying westward and only to an observer whose frame of reference is on the ground. Explanation here:<br><br><a href="https://en.wikipedia.org/wiki/Hafele%E2%80%93Keating_experiment">https://en.wikipedia.org/wiki/Hafele%E2%80%93Keating_experiment</a><br><br>=)<br><br></div>--Richard<br></div><div class="gmail_extra"><br><div class="gmail_quote">On Fri, Sep 22, 2017 at 7:10 PM, Zhang, Hong <span dir="ltr"><<a href="mailto:hongzhang@anl.gov" target="_blank">hongzhang@anl.gov</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



<div style="word-wrap:break-word">
Does PETSc build faster at 38,000 feet?
<div><div class="h5"><div>
<div><br>
</div>
<div>
<div>
<blockquote type="cite">
<div>On Sep 22, 2017, at 8:47 PM, Richard Tran Mills <<a href="mailto:rtmills@anl.gov" target="_blank">rtmills@anl.gov</a>> wrote:</div>
<br class="m_-7816874820383239508Apple-interchange-newline">
<div>
<div dir="ltr">
<div>Certainly! Being 38,000 feet in the air is no barrier to PETSc development!<br>
<br>
</div>
--Richard<br>
<div>
<div>
<div>
<div class="gmail_extra"><br>
<div class="gmail_quote">On Fri, Sep 22, 2017 at 6:44 PM, Smith, Barry F. <span dir="ltr">
<<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@mcs.anl.gov</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
  Are you on the airplane?<br>
<br>
<br>
> On Sep 22, 2017, at 8:43 PM<br>
<span class="m_-7816874820383239508im m_-7816874820383239508HOEnZb">> , Richard Tran Mills <<a href="mailto:rtmills@anl.gov" target="_blank">rtmills@anl.gov</a>> wrote:<br>
><br>
</span>
<div class="m_-7816874820383239508HOEnZb">
<div class="m_-7816874820383239508h5">> I've never encountered a recent Fortran compiler that doesn't allow maximum identifier length to exceed the 31 characters specified in Fortran 95. Since Fortran 2003 extended this to 63, I vote for that.<br>
><br>
> --Richard<br>
><br>
> On Fri, Sep 22, 2017 at 6:36 PM, Smith, Barry F. <<a href="mailto:bsmith@mcs.anl.gov" target="_blank">bsmith@mcs.anl.gov</a>> wrote:<br>
><br>
>   Since these don't seem to cause problems maybe we can change the maximum allowed to 63?<br>
><br>
> > On Sep 22, 2017, at 8:01 PM, Lisandro Dalcin <<a href="mailto:dalcinl@gmail.com" target="_blank">dalcinl@gmail.com</a>> wrote:<br>
> ><br>
> > 32 CharacteristicPackageInitializ<wbr>ed<br>
> > 32 CharacteristicSendCoordinatesE<wbr>nd<br>
> > 32 DMForestGetBaseCoordinateMappi<wbr>ng<br>
> > 32 DMForestSetBaseCoordinateMappi<wbr>ng<br>
> > 32 DMGlobalToLocalBeginDefaultShe<wbr>ll<br>
> > 32 DMLocalToGlobalBeginDefaultShe<wbr>ll<br>
> > 32 DMNetworkAssembleGraphStructur<wbr>es<br>
> > 32 DMNetworkGetVariableGlobalOffs<wbr>et<br>
> > 32 DMPlexComputeInterpolatorGener<wbr>al<br>
> > 32 DMPlexCreateDefaultReferenceTr<wbr>ee<br>
> > 32 DMPlexCreateFromCellListParall<wbr>el<br>
> > 32 DMShellSetLocalToLocalVecScatt<wbr>er<br>
> > 32 DMSwarmRegisterUserDatatypeFie<wbr>ld<br>
> > 32 ISGlobalToLocalMappingApplyBlo<wbr>ck<br>
> > 32 ISLocalToGlobalMappingApplyBlo<wbr>ck<br>
> > 32 ISLocalToGlobalMappingGetIndic<wbr>es<br>
> > 32 MatCreateMPIAIJSumSeqAIJSymbol<wbr>ic<br>
> > 32 MatCreateMPIMatConcatenateSeqM<wbr>at<br>
> > 32 MatFDColoringGetPerturbedColum<wbr>ns<br>
> > 32 MatMPIAIJDiagonalScaleLocalSet<wbr>Up<br>
> > 32 MatPartitioningRegisterAllCall<wbr>ed<br>
> > 32 MatSchurComplementGetSubMatric<wbr>es<br>
> > 32 MatSchurComplementSetSubMatric<wbr>es<br>
> > 32 PCBDDCApplyNullSpaceCorrection<wbr>PC<br>
> > 32 PCGAMGClassicalInitializePacka<wbr>ge<br>
> > 32 PCGASMCreateStraddlingSubdomai<wbr>ns<br>
> > 32 PCNNApplyInterfacePrecondition<wbr>er<br>
> > 32 PetscDrawXiQuickWindowFromWind<wbr>ow<br>
> > 32 PetscDSGetJacobianPrecondition<wbr>er<br>
> > 32 PetscDSHasJacobianPrecondition<wbr>er<br>
> > 32 PetscDSSetJacobianPrecondition<wbr>er<br>
> > 32 PetscDualSpaceSimpleSetDimensi<wbr>on<br>
> > 32 PetscErrorPrintfInitializeCall<wbr>ed<br>
> > 32 PetscEventPerfLogDeactivateCla<wbr>ss<br>
> > 32 PetscFEGetFaceCentroidTabulati<wbr>on<br>
> > 32 PetscObjectInheritPrintedOptio<wbr>ns<br>
> > 32 PetscOptionsHelpPrintedSinglet<wbr>on<br>
> > 32 PetscSectionCreateSubmeshSecti<wbr>on<br>
> > 32 PetscSectionGetConstraintIndic<wbr>es<br>
> > 32 PetscSectionSetConstraintIndic<wbr>es<br>
> > 32 PetscSpacePolynomialGetSymmetr<wbr>ic<br>
> > 32 PetscSpacePolynomialSetSymmetr<wbr>ic<br>
> > 32 PetscViewerASCIIPushSynchroniz<wbr>ed<br>
> > 32 PetscViewerBinaryReadStringArr<wbr>ay<br>
> > 32 PetscViewerFlowControlStepMast<wbr>er<br>
> > 32 PetscViewerFlowControlStepWork<wbr>er<br>
> > 32 SNESSetComputeApplicationConte<wbr>xt<br>
> > 32 SNESSetLagPreconditionerPersis<wbr>ts<br>
> > 32 TaoGetCurrentFunctionEvaluatio<wbr>ns<br>
> > 32 TaoGetMaximumFunctionEvaluatio<wbr>ns<br>
> > 32 TaoIsObjectiveAndGradientDefin<wbr>ed<br>
> > 32 TaoLineSearchAppendOptionsPref<wbr>ix<br>
> > 32 TaoLineSearchSetObjectiveRouti<wbr>ne<br>
> > 32 TaoSetEqualityConstraintsRouti<wbr>ne<br>
> > 32 TaoSetMaximumFunctionEvaluatio<wbr>ns<br>
> > 32 TSPseudoIncrementDtFromInitial<wbr>Dt<br>
> > 33 DMPlexCreateSectionBCIndicesFi<wbr>eld<br>
> > 33 DMPlexInsertBoundaryValuesRiem<wbr>ann<br>
> > 33 DMPlexMatGetClosureIndicesRefi<wbr>ned<br>
> > 33 DMShellSetGlobalToLocalVecScat<wbr>ter<br>
> > 33 DMShellSetLocalToGlobalVecScat<wbr>ter<br>
> > 33 DMSwarmCreateLocalVectorFromFi<wbr>eld<br>
> > 33 DMSwarmRegisterPetscDatatypeFi<wbr>eld<br>
> > 33 ISLocalToGlobalMappingConcaten<wbr>ate<br>
> > 33 ISLocalToGlobalMappingRegister<wbr>All<br>
> > 33 ISLocalToGlobalMappingRestoreI<wbr>nfo<br>
> > 33 KSPMonitorDynamicToleranceDest<wbr>roy<br>
> > 33 MatFactorFactorizeSchurComplem<wbr>ent<br>
> > 33 MatMPIAdjCreateNonemptySubcomm<wbr>Mat<br>
> > 33 MatMPIBAIJDiagonalScaleLocalSe<wbr>tUp<br>
> > 33 MatPartitioningParmetisGetEdge<wbr>Cut<br>
> > 33 MatSeqBAIJSetNumericFactorizat<wbr>ion<br>
> > 33 ourtaoobjectiveandgradientrout<wbr>ine<br>
> > 33 PCBDDCGetDirichletBoundariesLo<wbr>cal<br>
> > 33 PCBDDCNullSpaceAssembleCorrect<wbr>ion<br>
> > 33 PCBDDCSetDirichletBoundariesLo<wbr>cal<br>
> > 33 PCBDDCSolveSubstructureCorrect<wbr>ion<br>
> > 33 PCFactorReorderForNonzeroDiago<wbr>nal<br>
> > 33 PCGAMGClassicalPackageInitiali<wbr>zed<br>
> > 33 PCGASMSetHierarchicalPartition<wbr>ing<br>
> > 33 PetscDualSpaceCreateReferenceC<wbr>ell<br>
> > 33 PetscDualSpaceSimpleSetFunctio<wbr>nal<br>
> > 33 PetscGridHashGetEnclosingBoxQu<wbr>ery<br>
> > 33 PetscObjectDestroyOptionsHandl<wbr>ers<br>
> > 33 PetscObjectProcessOptionsHandl<wbr>ers<br>
> > 33 PetscPartitionerRegisterAllCal<wbr>led<br>
> > 33 PetscPartitionerShellSetPartit<wbr>ion<br>
> > 33 PetscSectionAddFieldConstraint<wbr>Dof<br>
> > 33 PetscSectionGetClosurePermutat<wbr>ion<br>
> > 33 PetscSectionGetFieldConstraint<wbr>Dof<br>
> > 33 PetscSectionRestoreFieldPointS<wbr>yms<br>
> > 33 PetscSectionSetClosurePermutat<wbr>ion<br>
> > 33 PetscSectionSetFieldConstraint<wbr>Dof<br>
> > 33 PetscViewerBinaryWriteStringAr<wbr>ray<br>
> > 33 SNESLineSearchAppendOptionsPre<wbr>fix<br>
> > 33 TaoLineSearchGetFullStepObject<wbr>ive<br>
> > 33 TaoLineSearchSetInitialStepLen<wbr>gth<br>
> > 33 TaoSetObjectiveAndGradientRout<wbr>ine<br>
> > 33 TSMonitorLGCtxSetDisplayVariab<wbr>les<br>
> > 34 CharacteristicSendCoordinatesB<wbr>egin<br>
> > 34 DMCompositeRestoreLocalAccessA<wbr>rray<br>
> > 34 DMPlexComputeCellGeometryAffin<wbr>eFEM<br>
> > 34 DMPlexComputeInjectorReference<wbr>Tree<br>
> > 34 DMPlexSNESComputeJacobianActio<wbr>nFEM<br>
> > 34 DMShellSetCreateFieldDecomposi<wbr>tion<br>
> > 34 DMSwarmCreateGlobalVectorFromF<wbr>ield<br>
> > 34 DMSwarmDestroyLocalVectorFromF<wbr>ield<br>
> > 34 DMSwarmSetPointsUniformCoordin<wbr>ates<br>
> > 34 ISLocalToGlobalMappingGetBlock<wbr>Info<br>
> > 34 ISLocalToGlobalMappingGetBlock<wbr>Size<br>
> > 34 ISLocalToGlobalMappingSetBlock<wbr>Size<br>
> > 34 KSPMonitorLGTrueResidualNormCr<wbr>eate<br>
> > 34 KSPMonitorSNESLGResidualNormCr<wbr>eate<br>
> > 34 MatPartitioningSetPartitionWei<wbr>ghts<br>
> > 34 PCBDDCApplyInterfacePreconditi<wbr>oner<br>
> > 34 PCBDDCDestroyNullSpaceCorrecti<wbr>onPC<br>
> > 34 PCBDDCDetectDisconnectedCompon<wbr>ents<br>
> > 34 PCBDDCMatISGetSubassemblingPat<wbr>tern<br>
> > 34 PetscObjectComposedDataIncreas<wbr>eInt<br>
> > 34 PetscObjectsListGetGlobalNumbe<wbr>ring<br>
> > 34 PetscPrintXMLNestedLinePerfRes<wbr>ults<br>
> > 34 PetscViewerASCIISynchronizedPr<wbr>intf<br>
> > 34 SNESGetAlwaysComputesFinalResi<wbr>dual<br>
> > 34 SNESSetAlwaysComputesFinalResi<wbr>dual<br>
> > 34 SNESVIComputeMeritFunctionGrad<wbr>ient<br>
> > 34 TaoSetInequalityConstraintsRou<wbr>tine<br>
> > 34 VecTaggerCDFIterativeGetTolera<wbr>nces<br>
> > 34 VecTaggerCDFIterativeSetTolera<wbr>nces<br>
> > 35 CharacteristicSetFieldInterpol<wbr>ation<br>
> > 35 DMCreateDomainDecompositionSca<wbr>tters<br>
> > 35 DMDAGetPreallocationCenterDime<wbr>nsion<br>
> > 35 DMDASetPreallocationCenterDime<wbr>nsion<br>
> > 35 DMPlexInsertBoundaryValuesEsse<wbr>ntial<br>
> > 35 DMPlexReferenceTreeGetChildSym<wbr>metry<br>
> > 35 DMShellSetCreateDomainDecompos<wbr>ition<br>
> > 35 DMSwarmDestroyGlobalVectorFrom<wbr>Field<br>
> > 35 DMSwarmSortGetNumberOfPointsPe<wbr>rCell<br>
> > 35 KSPMonitorSNESLGResidualNormDe<wbr>stroy<br>
> > 35 MatDenseOrthogonalRangeOrCompl<wbr>ement<br>
> > 35 MatSchurComplementUpdateSubMat<wbr>rices<br>
> > 35 PCGAMGSetUseParallelCoarseGrid<wbr>Solve<br>
> > 35 PetscDualSpaceLagrangeGetConti<wbr>nuity<br>
> > 35 PetscDualSpaceLagrangeSetConti<wbr>nuity<br>
> > 35 PetscObjectComposedDataIncreas<wbr>eReal<br>
> > 35 PetscObjectPrintClassNamePrefi<wbr>xType<br>
> > 35 PetscSpacePolynomialGetNumVari<wbr>ables<br>
> > 35 PetscSpacePolynomialSetNumVari<wbr>ables<br>
> > 35 PetscViewerBinaryGetMPIIODescr<wbr>iptor<br>
> > 35 SNESDefaultMatrixFreeSetParame<wbr>ters2<br>
> > 35 SNESLineSearchMonitorSetFromOp<wbr>tions<br>
> > 35 SNESLineSearchMonitorSolutionU<wbr>pdate<br>
> > 35 TaoLineSearchComputeObjectiveA<wbr>ndGTS<br>
> > 36 ISLocalToGlobalMappingRestoreI<wbr>ndices<br>
> > 36 ISLocalToGlobalMappingSetFromO<wbr>ptions<br>
> > 36 MatColoringCreateLargestFirstW<wbr>eights<br>
> > 36 MatColoringCreateSmallestLastW<wbr>eights<br>
> > 36 PetscDSGetComponentDerivativeO<wbr>ffsets<br>
> > 36 PetscLayoutSetISLocalToGlobalM<wbr>apping<br>
> > 36 PetscSectionCreateGlobalSectio<wbr>nLabel<br>
> > 36 SNESVIComputeBsubdifferentialV<wbr>ectors<br>
> > 37 DMCompositeGetISLocalToGlobalM<wbr>appings<br>
> > 37 ISLocalToGlobalMappingGetBlock<wbr>Indices<br>
> > 37 MatPartitioningParmetisSetRepa<wbr>rtition<br>
> > 37 PCBDDCGraphComputeConnectedCom<wbr>ponents<br>
> > 37 PetscObjectComposedDataIncreas<wbr>eScalar<br>
> > 37 PetscPrintXMLGlobalPerformance<wbr>Element<br>
> > 37 PetscSectionGetConstrainedStor<wbr>ageSize<br>
> > 37 PetscSectionGetFieldConstraint<wbr>Indices<br>
> > 37 PetscSectionSetFieldConstraint<wbr>Indices<br>
> > 37 SNESObjectiveComputeFunctionDe<wbr>faultFD<br>
> > 38 CharacteristicSetVelocityInter<wbr>polation<br>
> > 38 DMPlexCreateSpectralClosurePer<wbr>mutation<br>
> > 38 DMPlexReferenceTreeGetChildren<wbr>Matrices<br>
> > 38 ISLocalToGlobalMappingRestoreB<wbr>lockInfo<br>
> > 38 MatFactorSolveSchurComplementT<wbr>ranspose<br>
> > 38 MatMPIAIJSetUseScalableIncreas<wbr>eOverlap<br>
> > 38 ourtaolinesearchobjectiveandgt<wbr>sroutine<br>
> > 38 PetscObjectComposedDataIncreas<wbr>eIntstar<br>
> > 38 PetscObjectCopyFortranFunction<wbr>Pointers<br>
> > 38 TaoLineSearchSetObjectiveAndGT<wbr>SRoutine<br>
> > 39 ISLocalToGlobalMappingRegister<wbr>AllCalled<br>
> > 39 MatPartitioningHierarchicalGet<wbr>Fineparts<br>
> > 39 PCTelescopeGetIgnoreKSPCompute<wbr>Operators<br>
> > 39 PCTelescopeSetIgnoreKSPCompute<wbr>Operators<br>
> > 39 PetscObjectComposedDataIncreas<wbr>eRealstar<br>
> > 39 PetscSectionCreateGlobalSectio<wbr>nCensored<br>
> > 40 CharacteristicSetFieldInterpol<wbr>ationLocal<br>
> > 40 DMPlexInsertBoundaryValuesEsse<wbr>ntialField<br>
> > 40 LCLComputeAugmentedLagrangianA<wbr>ndGradient<br>
> > 40 MatPartitioningHierarchicalSet<wbr>Nfineparts<br>
> > 40 PetscSectionGetClosureInverseP<wbr>ermutation<br>
> > 40 TaoLineSearchComputeObjectiveA<wbr>ndGradient<br>
> > 41 ISLocalToGlobalMappingRestoreB<wbr>lockIndices<br>
> > 41 MatPartitioningHierarchicalGet<wbr>Coarseparts<br>
> > 41 MatSchurComplementComputeExpli<wbr>citOperator<br>
> > 41 PetscObjectComposedDataIncreas<wbr>eScalarstar<br>
> > 41 TaoLineSearchGetNumberFunction<wbr>Evaluations<br>
> > 42 DMPlexReferenceTreeRestoreChil<wbr>drenMatrices<br>
> > 42 MatPartitioningHierarchicalSet<wbr>Ncoarseparts<br>
> > 42 MatPartitioningParmetisSetCoar<wbr>seSequential<br>
> > 42 PCBDDCGraphComputeConnectedCom<wbr>ponentsLocal<br>
> > 43 CharacteristicSetVelocityInter<wbr>polationLocal<br>
> > 43 DMShellSetCreateDomainDecompos<wbr>itionScatters<br>
> > 43 ourtaolinesearchobjectiveandgr<wbr>adientroutine<br>
> > 43 TaoLineSearchSetObjectiveAndGr<wbr>adientRoutine<br>
> > 44 KSPGMRESModifiedGramSchmidtOrt<wbr>hogonalization<br>
> > 45 KSPGMRESClassicalGramSchmidtOr<wbr>thogonalization<br>
> ><br>
> ><br>
> > --<br>
> > Lisandro Dalcin<br>
> > ============<br>
> > Research Scientist<br>
> > Computer, Electrical and Mathematical Sciences & Engineering (CEMSE)<br>
> > Extreme Computing Research Center (ECRC)<br>
> > King Abdullah University of Science and Technology (KAUST)<br>
> > <a href="http://ecrc.kaust.edu.sa/" rel="noreferrer" target="_blank">
http://ecrc.kaust.edu.sa/</a><br>
> ><br>
> > 4700 King Abdullah University of Science and Technology<br>
> > al-Khawarizmi Bldg (Bldg 1), Office # 0109<br>
> > Thuwal 23955-6900, Kingdom of Saudi Arabia<br>
> > <a href="http://www.kaust.edu.sa/" rel="noreferrer" target="_blank">
http://www.kaust.edu.sa</a><br>
> ><br>
> > Office Phone: <a href="tel:%2B966%2012%20808-0459" value="+966128080459" target="_blank">
+966 12 808-0459</a><br>
><br>
><br>
<br>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</div>
</div>
</div>
</div>
</div>
</blockquote>
</div>
<br>
</div>
</div>
</div></div></div>

</blockquote></div><br></div>