proc_grid.c 1006 B

123456789101112131415161718192021222324252627282930313233343536
  1. //
  2. // Copyright 2010 Intel Corporation
  3. //
  4. // Licensed under the Apache License, Version 2.0 (the "License");
  5. // you may not use this file except in compliance with the License.
  6. // You may obtain a copy of the License at
  7. //
  8. // http://www.apache.org/licenses/LICENSE-2.0
  9. //
  10. // Unless required by applicable law or agreed to in writing, software
  11. // distributed under the License is distributed on an "AS IS" BASIS,
  12. // WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
  13. // See the License for the specific language governing permissions and
  14. // limitations under the License.
  15. //
  16. #include <math.h>
  17. #include "applu_share.h"
  18. void proc_grid() {
  19. //c set up a two-d grid for processors: column-major ordering of unknowns
  20. //c NOTE: assumes a power-of-two number of processors
  21. xdim = pow(2,(ndim/2));
  22. if (ndim%2 == 1) xdim = xdim + xdim;
  23. ydim = num/xdim;
  24. row = id%xdim + 1;
  25. col = id/xdim + 1;
  26. return;
  27. }