Drug discovery has accelerated with the advent of high performance computing and new algorithms. With the advancements in understanding genomes, new pharmaceutical research had made advances. The large amount of data and new algorithms had placed a heavy demand on computing resources, which requires the optimization of algorithm for a new class of computational architectures.
A structural bioinformatics algorithm, eFindSuite, can be used to demonstrate how moving the code to a highly parallel implementation can speed up the computation, by using both the Intel Xeon processor and the Intel Xeon Phi coprocessor. eFindSuite is implemented in both Fortran 77 and C++.
The code was first profiled using standard profiling techniques and the resulting knowledge allowed the developers to focus in on certain areas that could be parallelized. Using OpenMP, performance of the application increased almost linearly for the section of the code that it was applied to. Due to the fact that only a portion of the application could be parallelized in this step, the overall performance increase was must more modest, but close to the estimated performance based on Amdahl’s Law.
The next opportunity for improvement was to offload calculations to the Intel Xeon Phi coprocessor. Various parts of the code were candidates for offload, and it was found that the optimal results were obtained when the CPU handled 4 parallel tasks and the Intel Xeon Phi handled 10 parallel tasks. Each of the CPU tasks ran 4 threads and each of the coprocessor tasks ran 24 threads. The overall performance improvement over the serial version, on one of the tests was an amazing 17.6 X improvement. Further, the utilization rate of the CPU in these tests was 82 % and of the Intel Xeon Phi coprocessor was over 99%.
Overall, the combination of using Intel Xeon CPUs and the Intel Xeon Phi coprocessor demonstrated tremendous speedups over the serial version.
Source: Louisiana State University
New Tools, New Rules
Create faster code—faster—with the new Intel® Parallel Studio XE.