**** Entered By: akpaul @ 04/28/2005 04:47 AM ****
Q. When starting a parallel run I get a 'Not Enough Memory On Machine' message during the partitioning run. I have only 32-bit machines. Are there any ways to reduce the memory usage during partitioning?

A. This is a typical issue when working with a network of PCs/32-bit machines. The memory limit per process on these machines is 2 GB. (On windows it is usually less than 2GB). The `Master' process does the partitioning and hence on PC's the Master has a limit of 2GB or less on RAM. For very large jobs (roughly around 5 million hex nodes/3 million tet nodes), the Master process may require more than 2GB RAM during partitioning. One-way around this limitation is to run the Master process on a 64-bit machine which has enough memory. BUT there are a other approaches you could try on 32-bit machines, that will help reduce the memory overhead:

1- Try a different partitioning algorithm.

The default algorithm is the Metis-kway, which is very fast and does a very good job, but requires the highest memory compared to other available methods. You could try the 'Recursive Coordinate Bisection' or the 'Optimized Recursive Bisection' method - the latter has the minimum memory requirement but takes the most CPU time. You could also try the 'User Specified' direction if the geometry allows for it.

2- Split model up into different mesh regions and specify independent 'Domain' for each mesh region. The independent 'Domains' are then joined together using 'Domain Interfaces'.

Since the partitioner works on a domain-by-domain basis, the peak memory requirement will be reduced dramatically with this approach. Apart from having to define boundary conditions in their respective domains, the problem setup should be the same as a single domain case.


**** Entered By: akpaul @ 04/28/2005 04:47 AM ****
Q. When starting a parallel run I get a 'Not Enough Memory On Machine' message during the partitioning run. I have only 32-bit machines. Are there any ways to reduce the memory usage during partitioning?

A. This is a typical issue when working with a network of PCs/32-bit machines. The memory limit per process on these machines is 2 GB. (On windows it is usually less than 2GB). The `Master` process does the partitioning and hence on PC's the Master has a limit of 2GB or less on RAM. For very large jobs (roughly around 5 million hex nodes/3 million tet nodes), the Master process may require more than 2GB RAM during partitioning. One-way around this limitation is to run the Master process on a 64-bit machine which has enough memory. BUT there are a other approaches you could try on 32-bit machines, that will help reduce the memory overhead:

1- Try a different partitioning algorithm.

The default algorithm is the Metis-kway, which is very fast and does a very good job, but requires the highest memory compared to other available methods. You could try the 'Recursive Coordinate Bisection' or the 'Optimized Recursive Bisection' method - the latter has the minimum memory requirement but takes the most CPU time. You could also try the 'User Specified' direction if the geometry allows for it.

2- Split model up into different mesh regions and specify independent 'Domain' for each mesh region. The independent 'Domains' are then joined together using 'Domain Interfaces'.

Since the partitioner works on a domain-by-domain basis, the peak memory requirement will be reduced dramatically with this approach. Apart from having to define boundary conditions in their respective domains, the problem setup should be the same as a single domain case.





Show Form
No comments yet. Be the first to add a comment!