Suppose I have a program that does a lot of floating-point computations and is impractically slow on my current hardware. To reduce the runtime as much as possible, I want to figure out whether it's better to invest in CPUs or GPUs, given a fixed budget (around $3000-4000 in my case). I know that to compare one CPU to another, I can get a very rough sense of the relative processing speeds by multiplying the clock frequency by the number of cores for each CPU and comparing those numbers. But what about GPUs? Is there some way to quickly calculate a number based on the specs of the GPU that will tell me roughly how fast I can expect it to run my program, relative to a known CPU?
I know that the actual processing speed will depend heavily on the way the program is constructed and on other factors besides CPU/GPU clock speeds. For purposes of this question, I'm ignoring those other factors, i.e. I'm assuming that the time taken for any task other than floating-point number crunching is negligible (so it's not I/O bound or anything like that), and that the program is infinitely parallelizable (so, given any number of CPU or GPU cores, all of them will be used to maximum capacity as long as the program runs).