C# Program on GPU
- or -
Post a project like this$100
- Posted:
- Proposals: 3
- Remote
- #2247190
- Expired
Description
Experience Level: Entry
I have a much larger program but I cannot put the code here so I just created a very simple winform program which mimics the flow of the program / behaviour.
Basically the button1_click procedure will be run 2 to 10 times a second automatically by some call backs event from the server, and the i7 CPU cannot handle the procedure as there are lots of data in the dictionary and too many call backs in a gigantic procedure so we are trying to move the procedure to GPU instead of CPU. There are some calculations with numbers involved, such as sorting and addition but mostly on the list find / dictionary / filtering etc. This is not a C# program optimisation / re-write task but C# on GPU task.
As your PC and my PC are different so I created a simple stop watch for benchmark - i.e. your GPU program which runs the procedure will need to beat the stop watch elapsed in the original program. We are interested in the percentage of ticks saved to run on sample button1_click vs your gpu program.
Ideally you don't modify the loops inside - again the task is to run the code on GPU not rewrite (the original program was 40k lines of code so there is no point for you to re-write my sample dummy program attached). I don't know if your GPU program can accommodate the parallel foreach loop so I commented it out and replaced it with a normal foreach loop. At the end of the procedure it will replace the datasource for devexpress gridview/control so that the UI will show the numbers. I didn't put anything about the UI here as I don't know if I will end up putting my license on the web for free.
The user PC is on graphics card Sapphire Radeon (AMD) RX 580 however my laptop has Nvidia so I can test your solution on both AMD & Nvidia. We are happy to replace the user PC with any graphics card although we will appreciate solution that is graphics card independent. You can use any graphics card C# GPU library out there. Please see the source code attached.
Basically the button1_click procedure will be run 2 to 10 times a second automatically by some call backs event from the server, and the i7 CPU cannot handle the procedure as there are lots of data in the dictionary and too many call backs in a gigantic procedure so we are trying to move the procedure to GPU instead of CPU. There are some calculations with numbers involved, such as sorting and addition but mostly on the list find / dictionary / filtering etc. This is not a C# program optimisation / re-write task but C# on GPU task.
As your PC and my PC are different so I created a simple stop watch for benchmark - i.e. your GPU program which runs the procedure will need to beat the stop watch elapsed in the original program. We are interested in the percentage of ticks saved to run on sample button1_click vs your gpu program.
Ideally you don't modify the loops inside - again the task is to run the code on GPU not rewrite (the original program was 40k lines of code so there is no point for you to re-write my sample dummy program attached). I don't know if your GPU program can accommodate the parallel foreach loop so I commented it out and replaced it with a normal foreach loop. At the end of the procedure it will replace the datasource for devexpress gridview/control so that the UI will show the numbers. I didn't put anything about the UI here as I don't know if I will end up putting my license on the web for free.
The user PC is on graphics card Sapphire Radeon (AMD) RX 580 however my laptop has Nvidia so I can test your solution on both AMD & Nvidia. We are happy to replace the user PC with any graphics card although we will appreciate solution that is graphics card independent. You can use any graphics card C# GPU library out there. Please see the source code attached.
Luciano B.
100% (8)Projects Completed
7
Freelancers worked with
7
Projects awarded
41%
Last project
18 Mar 2019
Philippines
New Proposal
Login to your account and send a proposal now to get this project.
Log inClarification Board Ask a Question
-
There are no clarification messages.
We collect cookies to enable the proper functioning and security of our website, and to enhance your experience. By clicking on 'Accept All Cookies', you consent to the use of these cookies. You can change your 'Cookies Settings' at any time. For more information, please read ourCookie Policy
Cookie Settings
Accept All Cookies