BRL-CAD (Org ID 5154791065911296) Task ID 4963911528873984 | Task Definition ID 6403171444326400 Max instances: 2 Title: Implement a function that creates C++11 threads Description: BRL-CAD implements support for running in parallel on computers with multiple CPUs and multiple cores. However, there are lots of ways to run in parallel. One of those ways recently added to C++11 is std::thread. This task involves implementing the necessary logic to create a new thread in bu_parallel() using std::thread. This requires a minor source code modification to BRL-CAD's bu_parallel() function, located in: * src/libbu/parallel.c You may optionally want to add/modify these: * src/libbu/parallel_cpp11thread.cpp * src/libbu/CMakelists.txt You can put your implementation into a .cpp file or add your own new file and call a function from parallel.c, whatever is easiest. You can toggle usage of your implementation in parallel.c on whether HAVE_THREAD_LOCAL is defined. Be sure to run "ctest -R bu_parallel" when you think you have it working to test your change. Be sure the tests are calling your code and get them to pass. SUBMIT a patch file with your changes. You'll need to "svn add src/libbu/parallel_cpp11thread.cpp" (or however you name it) if you add a new file. See https://brlcad.org/wiki/Patches Tags: threading, multicore, parallel, c/c++, performance Categories: Coding Is Beginner: No Time given to complete: 3 days Mentors: erik.greenwald@gmail.com, brlcad@gmail.com, vasco.costa@gmail.com, odybenko@gmail.com Student: Rakete1111 (ID 4518193513103360) Status: COMPLETED (2017-12-06 10:57:20) Last modified: 2017-12-04 05:57:42