Clay Breshears 6-12 Webinar on TBB. Questions from the webcast.

Clay Breshears 6-12 Webinar on TBB. Questions from the webcast.

Thanks everyone for attending and asking such great questions. Clay - your move.

-Paul

  1. What's the main difference between OpenMP and TBB when in loop parallelism programming?
  2. One difficult issue with C++ templates is debugging, due to the complex warnings and errors you might receive... What have you done in this direction in TBB?
  3. does tbb take current system load into account etc?
  4. If we have 4 cores and 4 tasks can we be sure that all tasks would be executed on the different cores(4 tasks = 4 cores * 1 thread)
  5. Does TBB provide a way to set task priority or change the scheduling policy in the queue?
  6. Since the Task Scheduler of TBB can map tasks to threads running on cores/preocessores, can I say that when TBB is used in the program to get even high efficiency, we don't need to know how many cores are in the target machine?
  7. Have you benchmarked tbb against other libraries and/or java?
  8. Do you plan to develop a TBB like function for fortran..other languages?
  9. Since the implementation is Open Source, do you think TBB will have support for other hardware platforms (i.e. AMD)?
  10. How can TBB assure that the tasks/threads are well load blanced among cores?
  11. Don't you think that using class and write operators is too complicated for using loop like parallel_for? What about inserting lambda functions directly to TBB and not in C++0x like Intel does now?
  12. In a situation where cores exceed threads, does TBB insure "core affinity" to increase cache hits
  13. Can TBB ever be language independent?
  14. Would you dissuade covering TBB, openMP and explicit threading in an overview course (so as to prevent confusion)?
2 posts / 0 new
Last post
For more complete information about compiler optimizations, see our Optimization Notice.

All good questions, but all of these, except #14,are TBB specific. If you asked one of these questions or are interested in the question, I would suggest asking the question in the TBB forum. Go to http://software.intel.com/en-us/forums/for this forum. TBB authors and experts monitor that forum and can answer your questions about TBB much better than I could attempt.

As for question 14, I would not cover all three models in an overview class. That is, assuming that the purpose of the class was not to do a "compare and contrast" study of these three methods. If you are trying to teach parallel programming or even just give an introduction/overview to the ideas and techniques, I would focus on only one of these models. You could mention the other two and point out the similarities and differences. Going too in-depth on other models would be too confusing to students not familiar with parallel or multithreaded programming.

Questions 8 and 13 are interesting. I was a co-author on a Pthreads interface for Fortran (FPTHRD) several years ago. I don't think TBB could be developed for Fortran. If it were, it might look like OpenMP. However, it seems possible to port the ideas to other OO languages like Java and C#. If anyone poses this question (or something like it) to the TBB Forum, I'd be interested in the answers that are posted.

--clay

Leave a Comment

Please sign in to add a comment. Not a member? Join today