2011-11-08 40 views
6

My MacBookPro, chạy BootCamp, có bộ vi xử lý Intel i7-640M, có 2 lõi. Giống như tất cả các chip i7 khác, mỗi lõi được tăng cường, vì vậy bạn có thể có tối đa 4 luồng. Sử dụng Visual Studio 2010 c/C++ để xác định những điều sau:lõi CPU vs chủ đề

coresAvailable  = omp_get_num_procs (); 
threadsAvailable = omp_get_max_threads () ; 

"threadsAvailable" trả về với giá trị là 4, như mong đợi. Nhưng "coresAvailable" cũng được báo cáo là 4.

Tôi đang thiếu gì?

Trả lời

11

omp_get_num_procs trả về số CPU mà hệ điều hành báo cáo, và vì lõi hyperthreaded tự báo cáo là 2 CPU, chip tăng cường lõi kép sẽ tự báo cáo là 4 bộ xử lý.

omp_get_max_threads trả về hầu hết các chủ đề sẽ được sử dụng trong một vùng mã song song, do đó, có nghĩa là hầu hết các chủ đề mà nó sẽ sử dụng sẽ là số CPU có sẵn.

Các vấn đề liên quan