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
- Parameters
m (list of integer) – 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
- Returns
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.