This study demonstrates a practical implementation of selected Artificial Intelligence computations using thread-level parallelism with C++11 on a four-core processor, with a primary goal of reducing execution times. These programs spend a large percentage of the execution time searching and learning, both of which can benefit from the speed advantages offered by thread-level parallelism. As computer hardware architectures have moved from serial execution to concurrent multithreaded execution, new software programming techniques are needed to take advantage of concurrent hardware. C++11 is a new C++ standard with many new features and this study will focus on applying the new multithreading libraries including the new atomic memory model available in C++11 to solve these problems. Serial and multithreaded programs are compared in terms of execution time and programming effort to help determine when thread-level parallel designs should be considered. |