Are my conversion for GPU flops relativly correct?

Moderators: Site Moderators, FAHC Science Team

Locked
Jonathan
Posts: 23
Joined: Fri Jul 08, 2011 4:52 pm

Are my conversion for GPU flops relativly correct?

Post by Jonathan »

According to http://en.wikipedia.org/wiki/GeForce_500_Series the GFLOPS of a 560 Ti is 1263.4.

I'm assuming these are native FLOPS.

and teh conversion from native FLOPS to x86 FLOPS for Nvidea GPUs is 1:2.11 (from http://fah-web.stanford.edu/cgi-bin/mai ... pe=osstats)

so is it fair to say that the x86 FLOPS of a 560 Ti is 2666 x86 GFLOPS each?

Also how is FLOPS calculated from the Client Statistics page?
bruce
Posts: 20910
Joined: Thu Nov 29, 2007 10:13 pm
Location: So. Cal.

Re: Are my conversion for GPU flops relativly correct?

Post by bruce »

FLOPS are calculated "very conservatively" on the Statistics page. Many DC projects use a variety of methods assuming instruction mixes which may tend to inflate the numbers. If the instruction mix that the client runs is identical, FAH will be equal or less than the numbers given by other projects.

e,g,-- does the hardware calculate TAN, COS, EXP, SQR (etc) with single instructions or are they calculated using a series?
Jonathan
Posts: 23
Joined: Fri Jul 08, 2011 4:52 pm

Re: Are my conversion for GPU flops relativly correct?

Post by Jonathan »

So could there be an estimate on how much x86 FLOPS there are for a GTX 460 Ti?

Also how does f@h actually calculate FLOPS? Does it look for hardware IDs to figure out what CPU/GPU they are using and just add the numbers up from active clients, making it a best case scenario if those active clients run 24/7 at the same time ? Or is it more accurate that it actually can see how much FLOPS each client did on average in a given amount of time and add them up? Or something else?

A complex question I know, sorry about that just curious, the first question is the more important one.
bruce
Posts: 20910
Joined: Thu Nov 29, 2007 10:13 pm
Location: So. Cal.

Re: Are my conversion for GPU flops relativly correct?

Post by bruce »

As I said earler, Stanford doesn't feel that the unit of a FLOP is the most accurate measurement of what's being done, but they do carry a total anyway. It's based on actual work done, not on any direct detection of hardware. (They have no direct way to tell how much of the hardware is busy doing FAH and how much is doing something else.)

I'm not certain, but I think each WU completed reports that a specific number of FLOPs were completed.
Jonathan
Posts: 23
Joined: Fri Jul 08, 2011 4:52 pm

Re: Are my conversion for GPU flops relativly correct?

Post by Jonathan »

Hmmm, would be nice to have a "benchmark WU" that takes 5 minutes to finish and reports how many FLOPS the CPU/GPU is capable of.

The reason I am so adamant about this is because I need to communicate with numbers (FLOPS) how effective a certain build is. The more FLOPS/$ the better. It is until I have an accurate number that I'm comfortable displaying those results.

I think it would be a HUGE persuasion point if you can get 2.5 PFLOPS for just $525,000, which is the equivalent of China's super computer, which cost 88 million (they also used a combination of gpus and cpus).

The Chinese computer costs 20 million a year to operate. The estimated Power consumption of the build I'm thinking of is would be 198 KW, which would cost $208,137 a year in california for electricity costs. (12 cents per KW/Hr).

I'm aiming big, but when you aim for the stars, you usually reach the sky. Hopefully I can persuade not only the general population, but famous/rich people as well.

People will not be willing to donate unless they have a detailed account of what their money can do. Saying "this money will get ALOT of computational power" is not as effective as "$525,000 can get you the equivalent of the computational power of China's super computer, which is number two in the world. THEY spent 88 million for it".

So getting these"Benchmark WUs" not only seems like an easy thing to set up, but could result in a lot of donations.
bruce
Posts: 20910
Joined: Thu Nov 29, 2007 10:13 pm
Location: So. Cal.

Re: Are my conversion for GPU flops relativly correct?

Post by bruce »

There have been requests for benchmark WUs before and I have never seen a response from Stanford. The downloadable clients are not written in a way that would you to specify a specific WU nor do they have a way to run a WU if you could download one.

Gromacs.org does allow you to install the main analysis software but I'm not sure that's what you really want to do. You also can download stressCPU2 from gromacs.org (See http://folding.stanford.edu/English/DownloadUtils) which runs essentially the same code. I don't remember if it reports a FLOP count, but if it does, that would provide you with a benchmark test for CPUs. I have not seen a similar test for GPUs but it's certainly something that could be suggested.

I can't promise that Stanford will be interested in developing either one into a consumer-ready download. Their goal is to get people to complete scientific results, not to "waste" processor time doing benchmarks, so even if they do, I doubt they will make it a high-priority development.
Jonathan
Posts: 23
Joined: Fri Jul 08, 2011 4:52 pm

Re: Are my conversion for GPU flops relativly correct?

Post by Jonathan »

Well, I would imagine it would be a quick coding fix, justnothing too complicated. Jut get the SMP client to run a single WU that is designated at the benchmark, and have a complete separate client just for the benchmarking. As for the waste of computations, limit the time frame of simulation so that is doesn't go above 5 minutes even on slow systems. So if it only takes 5 minutes it won't take much away from the project.

stressCPU2 shows the amount of FLOPS calculated, but not FLOPS itself, although you could guesstimate it, but this is only for CPU, not GPU.

I know their goal is to complete scientific results, but one thing that is extremely lacking is advertising. Advertising is not only google ads, or tv commercials, but spreading awareness. Putting the amount of FLOPS would be a great way to communicate in exact numbers, which people respond to.

I know it seems trivial, but you have to tailor your messenger to a greater audience which WILL lead to more scientific results. The hard coding is already done, I would strongly urge f@h to develope something like this, as it seems like they already have all the resources to do so, as they do it themselves.
ihaque
Pande Group Member
Posts: 74
Joined: Mon Dec 03, 2007 4:20 am
Location: Stanford
Contact:

Re: Are my conversion for GPU flops relativly correct?

Post by ihaque »

Jonathan wrote:I think it would be a HUGE persuasion point if you can get 2.5 PFLOPS for just $525,000, which is the equivalent of China's super computer, which cost 88 million (they also used a combination of gpus and cpus).

The Chinese computer costs 20 million a year to operate. The estimated Power consumption of the build I'm thinking of is would be 198 KW, which would cost $208,137 a year in california for electricity costs. (12 cents per KW/Hr).
Statements like this are exactly why it's a bad idea to measure a system in FLOPs. Let me explain.

The Wikipedia page you quote for the 560Ti claims 1263.4 GFLOP/s for the board. This is a number known as theoretical peak - the absolute maximum number of floating point operations that can be performed per second, given the hardware and clock speed. The question of "native" vs "x86" FLOP/s doesn't even make sense here - the conversion we use for FAH is because certain operations that take multiple steps on x86 can be done in one step in hardware on GPUs. However, the operation used for the Wikipedia number is multiplies or adds, which are one operation on both x86 and GPU. So there's no x86 vs native difference here.

The first problem is that peak is, generally, a useless number to quote. Even highly optimized software that is computationally "easy" to map to the hardware typically performs at much less than peak. To use your own example, Rpeak for Tianhe-1 (the Chinese supercomputer) is 4.7 PFLOP/s, but the sustained performance is only 2.6 PFLOP/s (and you can be sure that they tuned the heck out of the software for that!).

The second problem is that you have to look at not just sustained performance, but sustained performance in a useful program. The TOP500 numbers are for LINPACK, a linear algebra benchmark that is (as far as these things go) relatively easy to parallelize and map to supercomputer architectures. Problems that are harder (like molecular dynamics) will not show the same number of GFLOP/s because it's not possible to use the hardware as efficiently. You can't just say, "Oh, we're at 1/500 the performance we need, so I'll buy 500x the hardware and call it a day" - as more parallel resources are added, it's much harder to utilize them effectively in a traditional supercomputing context. The computational architecture of FAH is nice in that we *can* use more computers with almost no effort, but in many ways it is unfair to compare directly to a traditional supercomputer like Jaguar or Tianhe; they're running different problems and have different measurements.

So. Could you build a machine that performs the same number of MD FLOP/s as Tianhe does LINPACK FLOP/s, and do it cheaper? Sure, but that's a consequence of the fact that FAH is able to parallelize more effectively than LINPACK and the benchmarks are doing completely different things. FLOP/s are not the apples to apples comparison you're looking for, here. What you should want is "time to solution" or cost-effectiveness for that. Of course, that's a rather slipperier notion; however, that's what underlies the common PPD or PPD/$ metrics that people use on the forum - using FAH points as a proxy for MD productivity. I suspect that that is a far more reasonable metric in this case.
Jonathan
Posts: 23
Joined: Fri Jul 08, 2011 4:52 pm

Re: Are my conversion for GPU flops relativly correct?

Post by Jonathan »

You bring up good points on ethics of using comparison, but I'll explain why sometimes putting all the facts and details of a subject is detrimental to what I plan to do.

Let me explain. So I have a business and I donate money for building a $2100 PC with 4 GTX 560 Ti's and 1 i7-2600. My goal is to help as much as i can for this project. While contributions and the income help, it would be much easier to persuade people with money to donate large sums of money, which would vary from person to person. People that have this kind of money like certain things when they are being persuaded, as all of us do. Here is a list of what I need to explain, in no particular order:
~
I'll need to persuade them that their donation is making a difference, which is easy to do, as I can explain what f@h does.

I'll need to show them that a small unit of what plan I proposed is already built, tested, and working perfectly ("beta testing", if you will). Which I'll do with the $2100 desktop I plan to build.

I'll need to explain how much they are getting from their money, which is what I plan to do with the GFLOPS. I choose GFLOPS because it is more "comparable" with other builds, as it is calculations per second, a concept that is very easy for anyone not well acquainted with computers to grasp. Nothing is perfect, I know GFLOPS will be a better persuasion technique rather than "PPD" because ppd can only be used as comparison to other PCs that donate in the project.

I'll need to persuade them that they are doing the most good by donating for this cause. Nothing is better for persuading than showing that you are one of the most cost efficient options out there. Which is why I gave the example of "you can get 2.5 PFLOPS for just $525,000, which is the equivalent of China's super computer, which cost 88 million." There is a "wow" factor when a person hears this, and that is how we persuade people. While this isn't accurate as of now I'm trying to make this number as accurate as we can, which is why I'm asking for information on this and so adamant about sticking to GFLOPS as measurement of performance.
~

Is this not telling the whole story? No. But we have to generalize in order for the audience to grasp the main concepts. If we had to then for answering "How is donating their spare computer time making a difference?" You would have to explain in detail what proteins are, their structures, all the forces acting upon them, etc. But that would not grasp the minds and hearts of the person, in this case, whom you are trying to persuade him/her running the client on his/her computer.

In my case, I'm trying to persuade people into donating to build computers that not only will help the project, but also make it as cost efficient as possible, yielding much more results. It is my belief that by doing this, we will get much more computational power than we currently have, and that is the goal of everything. It is why you coded this program for distributive computing, instead of buying an expensive supercomputer like UCSD, that won't yield as many results. In the end, it about the bang for your buck, I'm just trying to make it go a little farther.
PantherX
Site Moderator
Posts: 7020
Joined: Wed Dec 23, 2009 9:33 am
Hardware configuration: V7.6.21 -> Multi-purpose 24/7
Windows 10 64-bit
CPU:2/3/4/6 -> Intel i7-6700K
GPU:1 -> Nvidia GTX 1080 Ti
§
Retired:
2x Nvidia GTX 1070
Nvidia GTX 675M
Nvidia GTX 660 Ti
Nvidia GTX 650 SC
Nvidia GTX 260 896 MB SOC
Nvidia 9600GT 1 GB OC
Nvidia 9500M GS
Nvidia 8800GTS 320 MB

Intel Core i7-860
Intel Core i7-3840QM
Intel i3-3240
Intel Core 2 Duo E8200
Intel Core 2 Duo E6550
Intel Core 2 Duo T8300
Intel Pentium E5500
Intel Pentium E5400
Location: Land Of The Long White Cloud
Contact:

Re: Are my conversion for GPU flops relativly correct?

Post by PantherX »

Jonathan wrote:...In my case, I'm trying to persuade people into donating to build computers that not only will help the project, but also make it as cost efficient as possible, yielding much more results...
I understand your good intentions but rather than telling people to build dedicated systems in the first place, why not start with baby steps like asking them to download and install the F@H Classic Client on their personal machine? That way, they can "test the waters" before diving in. If they get bitten by the F@H bug, you can guide them here 8-)
ETA:
Now ↞ Very Soon ↔ Soon ↔ Soon-ish ↔ Not Soon ↠ End Of Time

Welcome To The F@H Support Forum Ӂ Troubleshooting Bad WUs Ӂ Troubleshooting Server Connectivity Issues
Jonathan
Posts: 23
Joined: Fri Jul 08, 2011 4:52 pm

Re: Are my conversion for GPU flops relativly correct?

Post by Jonathan »

I'm not disputing the importance of hands on participation from people themselves, after all, if I didn't start using the unicore client myself, I wouldn't be here today. However, there are pros and cons to each of them, but just because we are given two choices does not mean we have to choose one or the other, we can implement both at the same time, and together, they would yield more results.

Asking people to "test the waters", as you said, is an extremely good way to get a fan-base, as well as a very cost effective way to get computational power, compared to a server. Also, as the person gets immersed in the world of ppd and competing with people around the world, that person becomes hooked to the project, as I have been. So the pros are a cheap source of computational power, and a fan-base which ensures the longevity of the project.

The negative side to only using this fan-base is that it is lacking efficiency, as well as limiting a larger potential of computational power. A Pentium 4 computer running f@h will give little computational power, yet take as much electricity as an i7-2600 desktop. The cost of an i7-2600 computer is not as expensive as you might think, building one costs only $550. a Pentium 4 computer could be sold easily for $100. The i7-2600 gets more than 5x the ppd and even more than 5x the FLOPS that the P4 can produce. So either way you look at it, it would just be more efficient for the person folding with a P4, both electricity wise and computational power wise, to just to sell the computer and donate the proceeds to a collective fund, which aims for the greatest: results/$, ppd/$, FLOPS/$, whatever.

If you have two sources of energy, oil and natural gas, you surly use both. The same applies with f@h.


I would be more interested to talk in depth about how to implement such a plan with the pande group.

The posts I have made explain the logic behind why I think this is a good idea for f@h, but does not include any planned methods on how to actually implement it. I have already planed that out. I have not posted them because I would like to contact the pande group directly so we can discuss possible issues that could occur later down the road.

I know that as scientists, you want to focus on the issues at hand, the proteins themselves. But if you want to further your research, effective advertising (not in the sense of TV commercials) and politics would be one of the possible ways to do this.

Thanks, and waiting for a response,
-Jonathan Saboury
bruce
Posts: 20910
Joined: Thu Nov 29, 2007 10:13 pm
Location: So. Cal.

Re: Are my conversion for GPU flops relativly correct?

Post by bruce »

Money donated directly to Folding@home at Stanford University is much more productive that building more computers which will not be under the control of Stanford. It's one thing to spend money on a computer you own. It's another thing to donate directly to a tax-exempt organization like FAH.

It's an entirely different matter to donate to an organization which alleges to support a good cause but which cannot be verified. I recently read an article about the number of organizations which in one way or another say that the donations will be used to cure cancer. Most of those organizations follow the guidelines that make them tax exempt but there's a huge difference between the amount of money donated and the amount that is actually used for research.

I'm NOT accusing you of anything unethical -- I'm merely raising the POSSIBILITY that someone might suspect that you are. You've been told in many ways that FLOPS is not a reliable method of measuring FAH productivity. Showing that FLOPS per Dollar Donated is equally unreliable, and that seems to be your goal. One this forum, we have a firm policy against (A) Promoting a business and (B) Recruiting for a FAH Team and in my judgment, seeking donations which do not go directly to FAH falls losely under one of those two categories.

In that regard, I'm closing this topic. Again, I'm not accusing you of anything unethical. This topic simply does not meet the goals of this forum, which is to help people who are having trouble donating resources which they own or which they have receive written permission to use.
Locked