schrodinger.application.desmond.autopartition module¶
A module to provide multiset partition, combination and processor topology decomposition.
Copyright Schrodinger, LLC. All rights reserved.
-
schrodinger.application.desmond.autopartition.all_multicomb(m)¶ Return all combinations for multiset m :type m: list of integer :param m: the array contains the maximum number of individual unique element
in the multiset.
-
schrodinger.application.desmond.autopartition.get_next_partition(factors)¶ A partition generator
Parameters: factors (list of integer) – a list of prime numbers :return a three element tuple that represent the partition
- @todo:
- this algorithm is still not very efficient due to the generation of duplicate combination. A vector partition function with restricted growth order will be a better option.
-
schrodinger.application.desmond.autopartition.next_prime(n)¶ A prmie number generator that generates prime number less than or equal to n :type n: int :param n:
:return prime number
-
schrodinger.application.desmond.autopartition.get_prime_factors(n)¶ A function to generate all factorizations of a given integer n. :type n: int :param n: an integer to be factorized
:return a list of prime factors.
-
schrodinger.application.desmond.autopartition.auto_partition(dims, nproc)¶ A function to calculate best cpu partition based on dimension and number of processor. The object function to optimize:
Parameters: - dims (list of integer) – simulation box
- nproc (int) – number of cores
:return an three element integer array that represents the best partition.