X-Git-Url: http://biod.pnpi.spb.ru/gitweb/?a=blobdiff_plain;f=src%2Fgromacs%2Ftaskassignment%2Fdecidegpuusage.h;h=76b6f40042a0fec1ecd7bcec55482aec9d3ac72d;hb=8073360f849809b7ce4fa5b5f14ae16209ca087f;hp=8f16f25ae80b198aabf6cb2116ff741bc976ca32;hpb=2f224c7322e2e2e948590e1e73c82ff2b3ed568f;p=alexxy%2Fgromacs.git diff --git a/src/gromacs/taskassignment/decidegpuusage.h b/src/gromacs/taskassignment/decidegpuusage.h index 8f16f25ae8..76b6f40042 100644 --- a/src/gromacs/taskassignment/decidegpuusage.h +++ b/src/gromacs/taskassignment/decidegpuusage.h @@ -88,6 +88,8 @@ struct DevelopmentFeatureFlags bool enableGpuHaloExchange = false; //! True if the PME PP direct communication GPU development feature is enabled bool enableGpuPmePPComm = false; + //! True if the CUDA-aware MPI is being used for GPU direct communication feature + bool usingCudaAwareMpi = false; }; @@ -103,8 +105,7 @@ class MDAtoms; * * \param[in] nonbondedTarget The user's choice for mdrun -nb for where to assign * short-ranged nonbonded interaction tasks. - * \param[in] numDevicesToUse Number of compatible GPUs that the user permitted - * us to use. + * \param[in] haveAvailableDevices Whether there are available devices. * \param[in] userGpuTaskAssignment The user-specified assignment of GPU tasks to device IDs. * \param[in] emulateGpuNonbonded Whether we will emulate GPU calculation of nonbonded * interactions. @@ -118,7 +119,7 @@ class MDAtoms; * \throws std::bad_alloc If out of memory * InconsistentInputError If the user requirements are inconsistent. */ bool decideWhetherToUseGpusForNonbondedWithThreadMpi(TaskTarget nonbondedTarget, - int numDevicesToUse, + bool haveAvailableDevices, const std::vector& userGpuTaskAssignment, EmulateGpuNonbonded emulateGpuNonbonded, bool buildSupportsNonbondedOnGpu, @@ -281,7 +282,6 @@ bool decideWhetherToUseGpusForBonded(bool useGpuForNonbonded, * \param[in] mtop The global topology. * \param[in] useEssentialDynamics If essential dynamics is active. * \param[in] doOrientationRestraints If orientation restraints are enabled. - * \param[in] useReplicaExchange If this is a REMD simulation. * \param[in] haveFrozenAtoms If this simulation has frozen atoms (see Issue #3920). * \param[in] doRerun It this is a rerun. * \param[in] devFlags GPU development / experimental feature flags. @@ -302,7 +302,6 @@ bool decideWhetherToUseGpuForUpdate(bool isDomainDecom const gmx_mtop_t& mtop, bool useEssentialDynamics, bool doOrientationRestraints, - bool useReplicaExchange, bool haveFrozenAtoms, bool doRerun, const DevelopmentFeatureFlags& devFlags,