]> https://gitweb.dealii.org/ - dealii-svn.git/commitdiff
Detect multiple CPUs on Apple OS X.
authorwolf <wolf@0785d39b-7218-0410-832d-ea1e28bc413d>
Mon, 29 Nov 2004 17:34:56 +0000 (17:34 +0000)
committerwolf <wolf@0785d39b-7218-0410-832d-ea1e28bc413d>
Mon, 29 Nov 2004 17:34:56 +0000 (17:34 +0000)
git-svn-id: https://svn.dealii.org/trunk@9811 0785d39b-7218-0410-832d-ea1e28bc413d

deal.II/base/source/multithread_info.cc
deal.II/doc/news/c-5.0.html

index 0fb165aa12e12028f9333686dc78333fe704e6a2..7b6b3b3d173bcc1a973b65a5bd0bb180168fe22d 100644 (file)
@@ -2,7 +2,7 @@
 //    $Id$
 //    Version: $Name$
 //
-//    Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003 by the deal authors
+//    Copyright (C) 1998, 1999, 2000, 2001, 2002, 2003, 2004 by the deal authors
 //
 //    This file is subject to QPL and may not be  distributed
 //    without copyright and license information. Please refer
 #  include <unistd.h>
 #endif
 
-
-
+#if defined(__MACH__) && defined(__ppc__) && defined(__APPLE__)
+#  include <sys/types.h>
+#  include <sys/sysctl.h>
+#endif
 
 #if DEAL_II_USE_MT == 1
 
@@ -82,6 +84,25 @@ unsigned int MultithreadInfo::get_n_cpus()
   return sysconf(_SC_NPROC_ONLN);
 }
 
+#  elif defined(__MACH__) && defined(__ppc__) && defined(__APPLE__)
+// This is only tested on a dual G5 2.5GHz running MacOSX 10.3.6 
+// and gcc version 3.3 20030304 (Apple Computer, Inc. build 1666)
+// If it doesnt work please contact the mailinglist.
+unsigned int MultithreadInfo::get_n_cpus()
+{
+       int mib[2];
+       int n_cpus;
+       size_t len;
+       
+       mib[0] = CTL_HW;
+       mib[1] = HW_NCPU;
+       len = sizeof(n_cpus);
+       sysctl(mib, 2, &n_cpus, &len, NULL, 0);
+       
+       return n_cpus;
+}
+
+
 #  else
 
 // If you get n_cpus=1 although you are on a multi-processor machine,
index cc3dc159d43c849ec21d1c3f6f1541d24dd832de..b1b33a42d8ae2b7d2ac2017224279cec0eb97cfb 100644 (file)
@@ -122,18 +122,27 @@ inconvenience this causes.
 <ol>
 
 <li>
-   <p> New: The <code class="member">
-   TableHandler::write_tex</code> now accepts the additional boolean
-   argument <code class="member">with_header</code> which is set to
-   true by default and tells the function whether to add the latex 
-   header and footer (i.e. the \documentclass{...},
-   \begin{document} and \end{document} stuff) to the table.<br> 
-   In addition to this, there are two new members in the above class: 
-   <code class="member"> TableHandler::tex_set_table_caption</code> and
-   <code class="member"> TableHandler::tex_set_table_label</code> to
-   add a caption and a label to the tex generated table.  
-   <br> (Luca Heltai 2004/10/29)
-   </p>
+  <li> <p> 
+       New: The <code>MultithreadInfo</code> class now also detects multiple
+       processors on Mac OS X.
+       <br> 
+       (Helmut M&uuml;ller 2004/11/29)
+  </p>
+
+  <li> <p> 
+       New: The <code class="member">
+       TableHandler::write_tex</code> now accepts the additional boolean
+       argument <code class="member">with_header</code> which is set to
+       true by default and tells the function whether to add the latex 
+       header and footer (i.e. the \documentclass{...},
+       \begin{document} and \end{document} stuff) to the table.<br> 
+       In addition to this, there are two new members in the above class: 
+       <code class="member"> TableHandler::tex_set_table_caption</code> and
+       <code class="member"> TableHandler::tex_set_table_label</code> to
+       add a caption and a label to the tex generated table.  
+       <br> 
+       (Luca Heltai 2004/10/29)
+  </p>
 
   <li> <p>
        Fixed: <code

In the beginning the Universe was created. This has made a lot of people very angry and has been widely regarded as a bad move.

Douglas Adams


Typeset in Trocchi and Trocchi Bold Sans Serif.