reverendbedford / neml2

GPU enabled material modeling and inference library
Other
8 stars 9 forks source link

Accomodate Apple silicon in getting binaries #104

Closed reverendbedford closed 11 months ago

reverendbedford commented 11 months ago

This kind of hack automatically gets a silicon (arm64) build if you need it on Apple.

reverendbedford commented 11 months ago

Coverage after merging mac_build into main

90.25%

Coverage Report
FileBranchesFuncsLinesUncovered Lines
include/neml2/base
   CrossRef.h100%88.46%100%
   Factory.h100%11.54%100%
   NEML2Object.h100%25%33.33%50, 52
   OptionCollection.h100%0%0%40, 49
   OptionSet.h100%43.82%79.49%117, 120, 123, 135, 66, 74, 78, 82
   Registry.h100%96.53%100%
   UniqueVector.h100%23.81%83.33%169, 171–172
include/neml2/drivers
   Driver.h100%0%0%56
include/neml2/misc
   error.h100%38.39%82.35%35–36, 38
   math.h100%100%100%
   parser_utils.h100%54.10%88%37–38, 40
   utils.h100%68.47%76.27%173, 239, 241–246, 267, 302, 304–307
include/neml2/models
   ImplicitUpdate.h100%100%100%
   LabeledAxisInterface.h100%0%0%43, 45, 50, 52–53
   LinearInterpolation.h100%14.29%100%
   Model.h100%11.50%65.45%196, 198–201, 213, 215–218, 226, 262, 287, 314, 316, 318, 71, 77, 82
   NonlinearParameter.h100%9.09%100%
include/neml2/tensors
   BatchTensorBase.h100%65.91%89.13%262, 264, 308, 310–311
   FixedDimTensor.h100%18.18%100%
   LabeledAxis.h100%0%0%107, 110, 113, 139, 67, 72–74
   LabeledAxisAccessor.h100%50%50%59
   LabeledTensor.h100%40.38%87.88%112, 47, 93, 97
   Scalar.h100%63.64%100%
   VecBase.h100%87.50%100%
src/neml2/base
   CrossRef.cxx100%61.54%100%
   Factory.cxx100%80%68.18%45, 47–51, 62
   HITParser.cxx100%100%100%
   NEML2Object.cxx100%100%100%
   OptionCollection.cxx100%100%100%
   OptionSet.cxx100%80%82.76%112, 114, 124, 126, 35
   Registry.cxx100%100%100%
src/neml2/drivers
   Driver.cxx100%100%87.50%35
   TransientDriver.cxx100%93.33%81.90%115, 149, 151–153, 156–157, 161–165, 167–172, 175–176, 46
src/neml2/drivers/solid_mechanics
   SolidMechanicsDriver.cxx100%100%97.37%43
src/neml2/misc
   error.cxx100%100%100%
   math.cxx100%66.67%55.77%101, 103–105, 108, 110–113, 117–118, 121, 123–124, 81, 83–84, 87, 89, 93–94, 96, 99
   parser_utils.cxx100%100%98.18%73
   utils.cxx100%100%86.67%44, 52
src/neml2/models
   BackwardEulerTimeIntegration.cxx100%100%97.78%40
   ComposedModel.cxx100%100%97.87%122, 301, 314, 37
   ForceRate.cxx100%100%98%41
   ForwardEulerTimeIntegration.cxx100%100%97.62%41
   IdentityMap.cxx100%100%94.74%41
   ImplicitUpdate.cxx100%100%97.83%38
   Interpolation.cxx100%45.45%96%38
   LabeledAxisInterface.cxx100%100%100%
   LinearInterpolation.cxx100%45.45%100%
   Model.cxx100%65.38%92.31%167–169, 253, 307, 324, 326–327, 332, 40, 51, 62, 72, 89
   NonlinearParameter.cxx100%59.09%90.91%36
   SR2Invariant.cxx100%100%96.23%110, 40
   SumModel.cxx100%100%95.83%41
src/neml2/models/solid_mechanics
   AssociativeIsotropicPlasticHardening.cxx100%100%96.43%39
   AssociativeKinematicPlasticHardening.cxx100%100%96.67%40
   AssociativePlasticFlow.cxx100%100%96.43%39
   ChabochePlasticHardening.cxx100%100%97.62%43
   ElasticStrain.cxx100%100%96.67%43
   Elasticity.cxx100%100%94.12%40
   FlowRule.cxx100%100%88.89%35
   IsotropicHardening.cxx100%100%91.67%36
   IsotropicMandelStress.cxx100%100%100%
   KinematicHardening.cxx100%100%90.91%36
   LinearIsotropicElasticity.cxx100%100%96.15%39
   LinearIsotropicHardening.cxx100%100%92.86%37
   LinearKinematicHardening.cxx100%100%93.75%38
   MandelStress.cxx100%100%90.91%38
   Normality.cxx100%100%97.73%41
   OverStress.cxx100%100%96%40
   PerzynaPlasticFlowRate.cxx100%100%92.31%38, 71
   PlasticFlowRate.cxx100%100%90.91%36
   RateIndependentPlasticFlowConstraint.cxx100%100%97.22%40
   TotalStrain.cxx100%100%96.30%43
   VoceIsotropicHardening.cxx100%100%95.45%38
   YieldFunction.cxx100%100%97.06%40
src/neml2/solvers
   NewtonNonlinearSolver.cxx100%100%92%49, 73
   NonlinearSolver.cxx100%100%91.67%37
   NonlinearSystem.cxx100%100%90.48%36, 46
   Solver.cxx100%100%87.50%35
src/neml2/tensors
   BatchTensor.cxx100%100%100%
   BatchTensorBase.cxx100%34.38%94.26%208, 351, 373, 375, 56, 58, 60
   FixedDimTensor.cxx100%68.60%100%
   LabeledAxis.cxx100%92.86%82.17%104, 107, 109, 129, 188, 195, 205, 209–210, 212, 235, 323, 325–329, 337, 387, 392, 394, 400, 402–404, 406–407, 410, 412–413, 415, 417–422, 424–426, 92
   LabeledAxisAccessor.cxx100%100%100%
   LabeledMatrix.cxx100%60%56%42, 44–49, 77, 79, 82–83
   LabeledTensor.cxx100%55.56%83.10%116, 118, 178, 180, 206, 208, 59–61, 63, 94, 96
   LabeledTensor3D.cxx100%66.67%66.67%33, 35–43
   LabeledVector.cxx100%60%59.09%37, 39–42, 53, 55–56, 65
   R2.cxx100%100%100%
   R3.cxx100%100%100%
   R4.cxx100%100%100%
   Rot.cxx100%87.50%90%36–37, 39
   SR2.cxx100%100%100%
   SSR4.cxx100%81.25%89.47%124, 126, 130, 132, 136, 138
   Scalar.cxx100%100%100%
   Vec.cxx100%100%100%
   VecBase.cxx100%75%100%
src/neml2/tensors/user_tensors
   EmptyBatchTensor.cxx100%100%88.89%38
   EmptyFixedDimTensor.cxx100%100%87.50%38
   FillR2.cxx100%100%85.71%37, 65, 67, 70
   FillSR2.cxx100%100%77.78%37, 55–56, 58
   FullBatchTensor.cxx100%100%90.91%39
   FullFixedDimTensor.cxx100%100%90%39
   IdentityBatchTensor.cxx100%100%90%38
   LinspaceBatchTensor.cxx100%100%93.33%41
   LinspaceFixedDimTensor.cxx100%100%93.33%41
   LogspaceBatchTensor.cxx100%100%94.12%42
   LogspaceFixedDimTensor.cxx100%100%94.12%42
   OnesBatchTensor.cxx100%100%88.89%38
   OnesFixedDimTensor.cxx100%100%87.50%38
   UserBatchTensor.cxx100%100%95%39
   UserFixedDimTensor.cxx100%100%73.68%39, 53, 55, 57, 59
   ZerosBatchTensor.cxx100%100%88.89%38
   ZerosFixedDimTensor.cxx100%100%87.50%38