Using the project which I will provide (K-Means clusterization), written in Visual C++, you should modify it using OpenMP and CUDA, so that, the clusterization will run faster when executed by CPU and GPU together.
The objectives are:
- split the task in an array of subtasks
- distribute each subtask to CPU or GPU following some criterias which makes the distribution be the optimal one
- posibility to run the K-Means in concurrency and parallel at same time, which should optimise the task so that it will use almost all from device resources to accomplish the task sooner. This means, I expect that it will use arround 90% - 100 % from CPU and GPU to accomplish faster the given task.
- posibility to work with BIG DATA, for now I'm using a data set with Length = 16.7 M points, each point have a dimension = 3 , for example {100, 200, 300} is a Point with dimension 3. Program supports multi-dimensional points.
- program should use maximum threads and cores possible as was advised above and should allow me to enter the number of threads and cores to run it on device with only 16 GB RAM
- program must be well written and commented so it easy to understand, or provide a documentation with proper description with the modified project.
Hello, I'm an expert C,C++ developer with experience in object-oriented, data structure and more advanced. I can help you to finish this project with great quality.
We can negotiate on price/Budget Regards
Relevant Skills and Experience C,C++.