FAH is the weirdest piece of software I ever installed

Moderators: Site Moderators, FAHC Science Team

cippyboy
Posts: 5
Joined: Fri Jun 18, 2010 1:26 am

FAH is the weirdest piece of software I ever installed

Post by cippyboy »

Ok, so before I continue I have to say that I'm a programmer myself for quite some years now, and no, I'm not a web developer, I code in C++ and have experience with DirectX and OpenGL.

So, after hearing about Folding @ Home and researching what it does exactly on wikipedia or the official site's FAQ I still have no clue what kind of tasks it runs. I mean, ok, protein folding, but what exactly do the tasks contain ? Then I hear it's not open source because of security reasons. Like heck, security is just a protocol exchange at start-up, you can easily hide that in a dll or something and give us the rest of the code. And I'm not asking only because I'm curious, more on this later.

Ok, so given indefinite answers to what I was interested : what exactly are they making my computer do, I get the x86 installer for windows to find out it uses my CPU despite hearing there's a GPU based client. Ok, so I download the "special" GPU client (duh!) instead and try to run it, and it says it's incompatible with my driver. I mean, come on guys, this is ridiculous. What are you using there ? DirectCompute ? CUDA ? Oh, so that's a secret too I suppose ? I have a HD 5770 by the way and I don't really think it has such a different architecture compared to say HD5850 which first appeared in autumn last year, and I suppose they support that. Now, how is there a driver incompatibility if it's the same generation of video cards ? Anyway, I might be ranting uselessly because I have no idea what driver or API checks it does, again, if I had any source code I would've at least known what my problem was without searching the internets to find out you don't actually support my video card.

Next up, I install x86 back, and I pop it up and I got just a tray icon. I'm like "I'm doing protein folds and all the progress I get is this icon and a 0/250000 ?" So I right click and select viewer and I get a video display with some balls rotating and I'm like... ok so that's the atomic representation of a protein I don't even know it's name ? Who coded that shit ? It's such a big piece of junk ! I think the viewer was made in like a day using a Nehle sample. And hey, guess what ? I can't even ******* stop the rotation to look at the molecule. What the *** ? FAH, I have to admit at this point, I'm starting to doubt that anyone in Standford knows any programming. After seeing a pathetic viewer like that, which can't even stop the rotation of whatever is there ( balls with colors, I mean come on, how hard was it to even add specular light to it ? ). And what about progress ? after 10 minutes or so I get a 2500/250000. Like... how hard was it to code something that returns progress at a rate faster than 10 minutes ? I mean heck, if I wanted the help of millions of people around the globe I'd allow them to get a progress percentage faster because some have even slower machines than mine and might have to wait 10 to 20 times more which would make them think the software is not doing anything, therefore an uninstall must commence.

Ok, so after seeing the viewer I'm seriously doubting FAH's programming skills. That includes accuracy of the so called simulations, task integrity, care with float precision, big numbers and everything else related. That is why I'm asking for some source code because you know what ? I think the code sucks. I even checked that thing with process priority ticked above, heck even manually set it to realtime without my computer doing anything and it only goes to 30% usage. From what I've heard this is supposed to be heavy parallel work (hence the GPU client)... that can't even get my processor (Core i5) up to 50% ? How optimal is that code then ? Then again, why does FAH give information about the so called "projects" only AFTER they're completed or have done something useful ? You know what ? I think they only do a couple real folds and the rest use it for who knows what weird shit, how can anyone contradict me anyway ? Why not hand over all data since it's using my computer ? What do you have to hide FAH ?
Last edited by cippyboy on Fri Jun 18, 2010 3:52 am, edited 1 time in total.
k1wi
Posts: 909
Joined: Tue Sep 22, 2009 10:48 pm

Re: FAH is the weirdest piece of software I ever installed

Post by k1wi »

Welcome to the site.

You ask a lot of questions, so it will take quite some time for someone to answer all of them. Generally speaking there are answers to all your questions already here on the site.
cippyboy wrote:Ok, so before I continue I have to say that I'm a programmer myself for quite some years now, and no, I'm not a web developer, I code in C++ and have experience with DirectX and OpenGL.

So, after hearing about Folding @ Home and researching what it does exactly on wikipedia or the official site's FAQ I still have no clue what kind of tasks it runs. I mean, ok, protein folding, but what exactly do the tasks contain ?
http://folding.stanford.edu/English/FAQ-Diseases#ntoc2
cippyboy wrote:Then I hear it's not open source because of security reasons. Like heck, security is just a protocol exchange at start-up, you can easily hide that in a dll or something and give us the rest of the code. And I'm not asking only because I'm curious, more on this later.
Various reasons I believe, but part of it is integrity of data. This is academic research after all. Note the 'cores' which do the actual research are all open source I believe http://www.gromacs.org/.
cippyboy wrote:Ok, so given indefinite answers to what I was interested : what exactly are they making my computer do, I get the x86 installer for windows to find out it uses my CPU despite hearing there's a GPU based client. Ok, so I download the "special" GPU client (duh!) instead and try to run it, and it says it's incompatible with my driver. I mean, come on guys, this is ridiculous. What are you using there ? DirectCompute ? CUDA ? Oh, so that's a secret too I suppose ? I have a HD 5770 by the way and I don't really think it has such a different architecture compared to say HD5850 which first appeared in autumn last year, and I suppose they support that. Now, how is there a driver incompatibility if it's the same generation of video cards ? Anyway, I might be ranting uselessly because I have no idea what driver or API checks it does, again, if I had any source code I would've at least known what my problem was without searching the internets to find out you don't actually support my video card.
The GPU based client is still a High Performance client that is pushing the boundaries of GPGPU, which is a moving target. The HD 5770 will fold (I know people who fold with it) but it requires doing a bit of reading to get it to go.
cippyboy wrote:Next up, I install x86 back, and I pop it up and I got just get a tray icon. I'm like "I'm doing protein folds and all the progress I get is this icon and a 0/250000 ?" So I right click and select viewer and I get a video display with some balls rotating and I'm like... ok so that's the atomic representation of a protein I don't even know it's name ? Who coded that shit ? It's such a big piece of junk ! I think the viewer was made in like a day using a Nehle sample. And hey, guess what ? I can't even ******* stop the rotation to look at the molecule. What the **** ? FAH, I have to admit at this point, I'm starting to doubt that anyone in Standford knows any programming. After seeing a pathetic viewer like that, which can't even stop the rotation of whatever is there ( balls with colors, I mean come on, how hard was it to even add specular light to it ? ).
The main focus of Stanford is a application that works in the background. the viewer consumes computer resources that would otherwise be utilised by the protein folding. Stanford also has to weigh up putting developer time into making the viewer look pretty, or into continuing to push the boundaries of the science.
cippyboy wrote:And what about progress ? after 10 minutes or so I get a 2500/250000. Like... how hard was it to code something that returns progress at a rate faster than 10 minutes ? I mean heck, if I wanted the help of millions of people around the globe I'd allow them to get a progress percentage faster because some have even slower machines than mine and might have to wait 10 to 20 times more which would make them think the software is not doing anything, therefore an uninstall must commence.
The client reports in 1% chunks. Depending on the work unit this can be a long time.
cippyboy wrote:Ok, so after seeing the viewer I'm seriously doubting FAH's programming skills. That includes accuracy of the so called simulations, task integrity, care with float precision, big numbers and everything else related. That is why I'm asking for some source code because you know what ? I think the code sucks.
The client is closed source. The 'core' which does the folding is open source as I said above (GROMACS or OpenMM).
cippyboy wrote:I even checked that thing with process priority ticked above, heck even manually set it to realtime without my computer doing anything and it only goes to 30% usage. From what I've heard this is supposed to be heavy parallel work (hence the GPU client)... that can't even get my processor (Core i5) up to 50% ? How optimal is that code then ? Then again, why does FAH give information about the so called "projects" only AFTER they're completed or have done something useful ? You know what ? I think they only do a couple real folds and the rest use it for who knows what weird shit, how can anyone contradict me anyway ? Why not hand over all data since it's using my computer ? What do you have to hide FAH ?
Did you install the SMP client or the uniprocessor client? The SMP client is for multicore CPUs and the uniprocessor client is for single core CPUs.

Why are you so aggressive?
Image
cippyboy
Posts: 5
Joined: Fri Jun 18, 2010 1:26 am

Re: FAH is the weirdest piece of software I ever installed

Post by cippyboy »

Crap I can't reply with quotes, what a piece of... But it's another fine example of computer wisdom Stanford, wohoo! Way to go !
bruce
Posts: 20824
Joined: Thu Nov 29, 2007 10:13 pm
Location: So. Cal.

Re: FAH is the weirdest piece of software I ever installed

Post by bruce »

Welcome to the foldingforum, cippyboy.

k1wi has already welcomed you (as well as asking about your attitude) but I'll attempt to fill it a few more details.

The amount of computation required to "fold" a protein is huge. Suppose you have from thousands to tens of thousands (or maybe hundreds of thosands, one of these days) of atoms each with a mass and each exerting forces on every other atom. If you know the positions and velocities at time T=0 and you need to know where all those atoms will be at some later time, you have to do perhaps 5e07 time steps of computing the forces (for the deterministic parts of the model) and adding schotastic values (for the thermal effects) it takes a lot of computations. Since thermal motions are random, there is no single starting point at T=0, so you need perhaps 1e3 to 1e4 representative starting conditions, just for a single protein. Well known open source methods exist for doing that scientific analysis on supercomputers.

OK, now divide up the 5e7 steps into "reasonable" computations of a few days which can be done in the background using donated computers and you may generate 100 Gens of 5e5 steps for each of the starting points. Create a coordination system that distributes those assignments, collects and reassembles the results, and assembles them into a Project. Develop new projects as needed.

Create points, teams, etc. to generate competition and to keep donors interested. Build reasonable security to prevent "cheating" (which has often has produced fraudulent results on other Distributed Computing projects). Maintain scientific accuracy and repeatably of the results.

Keep this massively distributed supercomputer running for as many years as is required to "solve" important proteins and publish the scientific discoveries found along the way in the appropriate scientific journals.

Start small (back in the days of the 80286/80287) and evolve over the years into improved methods that use SSE and SMP (and multithreading) and/or CAL/CUDA and/or (others in the future like OpenCL) methods. Abandon some approaches like DirectX which (after a lot of development work) turned out to be unreliable. Support Windows/Linux/OS-X based on what is common on home computers while avoiding platforms that eiteer have limited exposure or inadequate hardware for the computational load required.
RAH
Posts: 131
Joined: Sun Dec 02, 2007 6:29 am
Hardware configuration: 1. C2Q 8200@2880 / W7Pro64 / SMP2 / 2 GPU - GTS250/GTS450
2. C2D 6300@3600 / XPsp3 / SMP2 / 1 GPU - GT240
Location: Florida

Re: FAH is the weirdest piece of software I ever installed

Post by RAH »

Welcome to the FOLD. If you read through a little of it, you will find a lot of code.
As far as the viewer goes, why not make us one with openGL.

viewtopic.php?f=41&t=2368
Image
bruce
Posts: 20824
Joined: Thu Nov 29, 2007 10:13 pm
Location: So. Cal.

Re: FAH is the weirdest piece of software I ever installed

Post by bruce »

RAH wrote:Welcome to the FOLD. If you read through a little of it, you will find a lot of code.
As far as the viewer goes, why not make us one with openGL.
. . . which doesn't use a lot of CPU time like the one distributed with FAH.
John Naylor
Posts: 357
Joined: Mon Dec 03, 2007 4:36 pm
Hardware configuration: Q9450 OC @ 3.2GHz (Win7 Home Premium) - SMP2
E7500 OC @ 3.66GHz (Windows Home Server) - SMP2
i5-3750k @ 3.8GHz (Win7 Pro) - SMP2
Location: University of Birmingham, UK

Re: FAH is the weirdest piece of software I ever installed

Post by John Naylor »

HD5770: is supported, but the old client which is currently on the download page needs a flag to work with it. Launch the client with -forcegpu ati_r700 and it will run. A new client released a few weeks ago for early testing on this forum fixes this admittedly annoying bug.

Viewer: is buggy. I'm surprised it's not been removed from the client, but F@H has released the API necessary to create a third party viewer for the client which is not so buggy (and preferably doesn't use so much CPU time, which would be better used for folding). There were no takers. I guess (and this is just speculation) anyone that did write a much better viewer stands a decent chance of having it integrated into the client by Stanford to replace the current, buggy viewer. If you fancy a look at this, check here.
cippyboy wrote:Ok, so after seeing the viewer I'm seriously doubting FAH's programming skills. That includes accuracy of the so called simulations, task integrity, care with float precision, big numbers and everything else related.
All the research is done using open-source Molecular Dynamics software. See these links: Gromacs Amber Protomol OpenMM
cippyboy wrote:That is why I'm asking for some source code because you know what ? I think the code sucks. I even checked that thing with process priority ticked above, heck even manually set it to realtime without my computer doing anything and it only goes to 30% usage. From what I've heard this is supposed to be heavy parallel work (hence the GPU client)... that can't even get my processor (Core i5) up to 50% ? How optimal is that code then ?
Chances are you installed the single CPU client, which only runs on one core of a processor. Or forgot the -smp flag to launch the client in SMP mode.
cippyboy wrote: Then again, why does FAH give information about the so called "projects" only AFTER they're completed or have done something useful ? You know what ? I think they only do a couple real folds and the rest use it for who knows what weird shit, how can anyone contradict me anyway ? Why not hand over all data since it's using my computer ? What do you have to hide FAH ?
Project information pages for most projects are available the same day the project is released to the public. If you are referring to the peer-reviewed papers that emerge as the ultimate end to a particular simulation, then of course they're only released after the project is finished, they need to do the research before they can comment on it, and that then needs to be reviewed by other leading scientists before it is accepted for publication. Which also debunks your theory that they only do a few useful folds, as we wouldn't have 70+ papers published using research from this project without that research having actually been done....

As for your comment about being unable to post with quotes, I'm surprised an experienced programmer like yourself hasn't come across phpBB3, the open source software that this forum runs on. http://www.phpbb.com/
Folding whatever I'm sent since March 2006 :) Beta testing since October 2006. www.FAH-Addict.net Administrator since August 2009.
cippyboy
Posts: 5
Joined: Fri Jun 18, 2010 1:26 am

Re: FAH is the weirdest piece of software I ever installed

Post by cippyboy »

k1wi wrote:http://folding.stanford.edu/English/FAQ-Diseases#ntoc2
Various reasons I believe, but part of it is integrity of data. This is academic research after all
Hm, seems I'm not making myself clear. I was talking about actual C++ code and how they are programming the simulation. As I said before, maybe Stanford is good with chemistry, biology, etc, but from my assessment of the client & viewer I seriously doubt the coding skills. As for gromacs.org, I gotta install git, so I'll try it out later. But why should academic research be kept secret since it's running on my computer again ?
k1wi wrote:The GPU based client is still a High Performance client that is pushing the boundaries of GPGPU, which is a moving target. The HD 5770 will fold (I know people who fold with it) but it requires doing a bit of reading to get it to go.
Ok, so you're telling me you either don't know if FAH is using DirectCompute/CUDA/OpenCL or if it does, I should somehow tweak my drivers to make it work ? I believe they made standards for a reason. When you play say a DirectX11 game and a new video card comes up, do you have to tweak your drivers for the game to work ?
k1wi wrote:The client reports in 1% chunks. Depending on the work unit this can be a long time.
Ok, so why isn't there a feature to set how often to report ? And don't tell me only I want that.
k1wi wrote:Did you install the SMP client or the uniprocessor client? The SMP client is for multicore CPUs and the uniprocessor client is for single core CPUs.
Haha, I just checked the "high performance clients" again and saw that version by the end of the list, console version only and it's beta ? That page is so unintuitive and really when I download something with SMP I don't have a line with it saying it's SMP and differentiating it that much from a single threaded version. If they're supposed to run the same work units, not make a single executable for uniprocessor, SMP and GPU ? Why bother making 3 distinct applications and mess the users up with that unintuitive site ?
k1wi wrote:Why are you so aggressive?
Because I had high expectations from something that has millions of users and is "helping mankind". I mean, really now, when I was in highschool I could've made rotating balls prettier. I'd like to help with the big picture, but the way this whole thing interacts with me, the end user,it is offending my intellect which is why I question the whole project. You say they're too busy to code a better viewer when they could instead be working on projects or something, but those are closed source and what you're saying is actually that they're shifting focus on something that is completely invisible to me. But if they would have made the viewer open source I would've jumped right now to make something stop that damn rotation !
cippyboy
Posts: 5
Joined: Fri Jun 18, 2010 1:26 am

Re: FAH is the weirdest piece of software I ever installed

Post by cippyboy »

Phew, finally posted that draft I saved. As for John Naylor's comment, I couldn't post anything with quotes because the forum said that I have to be a member for a day to post anything with URLs... but as far as I know, quotes aren't URLs, so why wasn't I able to post ? anyway... the part with what exactly are they using (DirectCompute/CUDA/OpenCL) still stands cause I never saw any indication of that. And why do I have to fake my card into an R700 ? What kind of weird driver checks are you doing ? Again, last I heard standards were made for a reason. And why are you saying DirectX is unreliable ? This is a first for me as I'm a game programmer, what is your scientific backing ?

As for the viewer, I'm surprised no one made a better one if there's an API for it. And where is that API again cause the FAQ page of FAH didn't had any page regarding any type of code. Also, on youtube I saw a protein simulation that seems to use a better version of that viewer which is a bit more complex. How come there's another viewer and how come that one isn't dispatched to users ? Is that even a viewer or a scripted animated sequence ?

Also, why the hideen flags like -smp ? Last time I checked GUIs were pretty easy to make.
John Naylor
Posts: 357
Joined: Mon Dec 03, 2007 4:36 pm
Hardware configuration: Q9450 OC @ 3.2GHz (Win7 Home Premium) - SMP2
E7500 OC @ 3.66GHz (Windows Home Server) - SMP2
i5-3750k @ 3.8GHz (Win7 Pro) - SMP2
Location: University of Birmingham, UK

Re: FAH is the weirdest piece of software I ever installed

Post by John Naylor »

cippyboy wrote:Phew, finally posted that draft I saved. As for John Naylor's comment, I couldn't post anything with quotes because the forum said that I have to be a member for a day to post anything with URLs... but as far as I know, quotes aren't URLs, so why wasn't I able to post ?
The post you tried to quote contained a URL, which is why the forum software rejected it... an unintended side effect of the anti-bot measures, sorry about that.
cippyboy wrote:anyway... the part with what exactly are they using (DirectCompute/CUDA/OpenCL) still stands cause I never saw any indication of that.
The current client uses CUDA for nVidia cards and Brook+ with the Stream SDK on ATI.
cippyboy wrote:And why do I have to fake my card into an R700 ? What kind of weird driver checks are you doing ? Again, last I heard standards were made for a reason.
The current released client was released before the R800 existed, but as the FAHcore used for the R800 is the same core as used for the R700, the old flag works. The client's hardware detection works by checking against an internal list of hardware IDs, meaning that if the client has not been updated since your card was released, it won't recognise it. The latest alpha client released on this forum does recognise all HD5xxx series cards, but at the moment it is not considered stable enough for the main download page.
cippyboy wrote:And why are you saying DirectX is unreliable ? This is a first for me as I'm a game programmer, what is your scientific backing ?
The first version of the client used DirectX9, and whilst the results it produced (when it produced them) were on the whole scientifically accurate, the vulnerability of the client to context changes such as logging out or starting a game, which cause DX9 to reset and the client to subsequently crash, meant that it was decided to move to CUDA and Brook+ instead. This approach has been much more satisfactory, but the advent of OpenCL means we will be moving to that once the software can be ported to OpenCL. Whether DX10 and 11 with ComputeShader would suffer the same issues remains to be seen, but OpenCL supports more platforms (i.e. CPU too) which could lead to one core working for all processor types, regardless of whether they are a CPU or a GPU. We shall see.
cippyboy wrote:Also, on youtube I saw a protein simulation that seems to use a better version of that viewer which is a bit more complex. How come there's another viewer and how come that one isn't dispatched to users ? Is that even a viewer or a scripted animated sequence ?
Those sequences are generated from the final results files (i.e. the final result for one whole sequence of units, not just one unit) using other programs, and are probably pre-rendered as they show many different shapes of atom which even the PS3 viewer cannot do.
cippyboy wrote:Also, why the hideen flags like -smp ? Last time I checked GUIs were pretty easy to make.
It's explicitly a console client. The SMP core is still not as easy to set and forget as the uniprocessor cores are, so its not made obvious that it is available. I'm sure when it is as easy to use as the regular cores it will be as simple as a tickbox to use...
Folding whatever I'm sent since March 2006 :) Beta testing since October 2006. www.FAH-Addict.net Administrator since August 2009.
7im
Posts: 10179
Joined: Thu Nov 29, 2007 4:30 pm
Hardware configuration: Intel i7-4770K @ 4.5 GHz, 16 GB DDR3-2133 Corsair Vengence (black/red), EVGA GTX 760 @ 1200 MHz, on an Asus Maximus VI Hero MB (black/red), in a blacked out Antec P280 Tower, with a Xigmatek Night Hawk (black) HSF, Seasonic 760w Platinum (black case, sleeves, wires), 4 SilenX 120mm Case fans with silicon fan gaskets and silicon mounts (all black), a 512GB Samsung SSD (black), and a 2TB Black Western Digital HD (silver/black).
Location: Arizona
Contact:

Re: FAH is the weirdest piece of software I ever installed

Post by 7im »

Your questions are all over the place, in no particular order, so are my answers. ;)

Flags are a legacy of the client that started in development 10 years ago. Not much has changed since then as for the look and feel of the client. When you run a huge project like fah, you can't make sweeping changes without taking a huge risk interrupting the day to day operations and upsetting a large number of contributors. That's why so little has changed for so long. It takes a long time to turn a large ship. So yes, fah is odd software. It isn't some run of the mill prepackaged souless generic crap developed with MS Visual Studio, it was scraped together bit by bit. It's got character. :twisted:

However, there is hope on the horizon. Pande Group hired a professional programming company to write the v7 client from scratch. Your impression of the next client should be considerably different.

Requests for help developing open source parts of fah have gone mostly unanswered. There is a call to develop an open source viewer here: http://foldingforum.org/viewtopic.php?f=41&t=2368 No one applied. Feel free to jumpt right in and break the streak of non-comittal. ;) See also http://folding.stanford.edu/English/FAQ-OpenSource

As for help getting your 5xxx series ATI card folding, all you had to do was add a flag, or wait a week for them to update the client so the flag isn't needed (they updated the hardware whitelist so your card is detected automatically now). Download the newest GPU client from here: http://foldingforum.org/viewtopic.php?f=24&t=14671 No forcegpu flag needed. Yes, early beta, so it isn't on the download page yet. Not an uncommon practice for software developers, eh? ;)

You CAN set a checkpoint frequency from 3 to 30 minutes, but in addition, the fah client is still going to log each percentage completed. It's a function of the client, and your desire to change that has no meaning for how the client runs. And changing that has no benefit.

3 seperate clients, because 3 separate people developed them, and on differing code bases. And their development cycles are very different. If all three clients were combined, you'd have 3 times the testing to do. Any time that any one of the three parts were updated, you'd still have to test all of it to make sure none of it was broken. And people would feel the need to upgrade their clients 3 times as often. That would not be popular. That's why.

And you idea about a universal client is a long time perpetual request. One that will eventually come true, I hope. For example, the linux client already has a combined CPU and SMP client. There is no linux GPU client yet. So there's hope for a better method in the v7 client. Unified client on unified code from a unified developer. So nice.

DirectX is unreliable as a computational method. Works great for video, sucks for math. The GPU1 client proved that. Read the FAQs.

The GPU2 client for ATI uses CAL, the GPU2 client for nVidia uses CUDA. GPU3 for NV also uses CUDA at present, with OpenCL support coming for both ATI and NV. Also covered in the FAQs, for example: What's different between the GPU1 and the GPU2 client?

The viewer quality also varies by platform. The veiwer in the PS3 client is awesome. Obviously, the viewer for the CPU is lame by comparison. GPU client viewer isn't so bad. I expect a much improved viewer with v7 as well, although just a guess. ;)
How to provide enough information to get helpful support
Tell me and I forget. Teach me and I remember. Involve me and I learn.
cippyboy
Posts: 5
Joined: Fri Jun 18, 2010 1:26 am

Re: FAH is the weirdest piece of software I ever installed

Post by cippyboy »

John Naylor wrote:Whether DX10 and 11 with ComputeShader would suffer the same issues remains to be seen, but OpenCL supports more platforms (i.e. CPU too) which could lead to one core working for all processor types, regardless of whether they are a CPU or a GPU. We shall see
Ok, so you're telling me that the clients are outsourced to who knows what companies that didn't researched DX10+ yet ? (which is almost 4 years old by the way) And how come you know this ? The FAQ says context switches but nothing about DX9. You seem to have much more information than those FAQs, so like do you work with them ? And why isn't this kind of information public ?

I've also seen the "OpenGL kit", but what I haven't seen is where's the source code for the current viewer, and if the PS3 viewer is much better why wasn't it ported over ? Did Sony do that and never released any source code ? That sounds awful, but coming from Sony I'd understand.
7im
Posts: 10179
Joined: Thu Nov 29, 2007 4:30 pm
Hardware configuration: Intel i7-4770K @ 4.5 GHz, 16 GB DDR3-2133 Corsair Vengence (black/red), EVGA GTX 760 @ 1200 MHz, on an Asus Maximus VI Hero MB (black/red), in a blacked out Antec P280 Tower, with a Xigmatek Night Hawk (black) HSF, Seasonic 760w Platinum (black case, sleeves, wires), 4 SilenX 120mm Case fans with silicon fan gaskets and silicon mounts (all black), a 512GB Samsung SSD (black), and a 2TB Black Western Digital HD (silver/black).
Location: Arizona
Contact:

Re: FAH is the weirdest piece of software I ever installed

Post by 7im »

The PS3 has hi-def video hardware, of course the viewer is going to look better. And I'm rather sure that Sony tweaked whatever display code they have to work very well with their hardware. High end hardware, with a well developed port through their proprietary OS/software eguals very nice viewer.

The problem is a GPU now has similar abilities, but the hardware is different, and so the software needs to be different for the viewer to work as well. The NV client seems to have a customized option already. It would be great if we had one for all hardware.

CPUs have no such video capabilities, and so they depend on whatever system level video there is, so this viewer probably need to be more generic. Unfortunately, lowest common denominator often means lower quality as well.

And I don't what you're going round and round with John Naylor about, but you guys don't seem to be on the same wavelength. John is talking about DX coding and so then how does that lead you to assume the client development was outsourced? That leap doesn't seem logical to me.

As for why some things are not in the FAQs, you have to remember what FAQ stands for. Frequently asked questions. The minutiae you are asking about are not frequently asked about. ;) So there is a lot of information available, not always documented in the FAQs. Sometimes it gets added to the FAH WIKI, and sometimes it's only found here in the forum. And sometimes, it's only found in the heads of a few people that have a lot of experience running the fah software on various types of hardware. :lol: (or by asking Pande Group)
How to provide enough information to get helpful support
Tell me and I forget. Teach me and I remember. Involve me and I learn.
John Naylor
Posts: 357
Joined: Mon Dec 03, 2007 4:36 pm
Hardware configuration: Q9450 OC @ 3.2GHz (Win7 Home Premium) - SMP2
E7500 OC @ 3.66GHz (Windows Home Server) - SMP2
i5-3750k @ 3.8GHz (Win7 Pro) - SMP2
Location: University of Birmingham, UK

Re: FAH is the weirdest piece of software I ever installed

Post by John Naylor »

cippyboy wrote:
John Naylor wrote:Whether DX10 and 11 with ComputeShader would suffer the same issues remains to be seen, but OpenCL supports more platforms (i.e. CPU too) which could lead to one core working for all processor types, regardless of whether they are a CPU or a GPU. We shall see
Ok, so you're telling me that the clients are outsourced to who knows what companies that didn't researched DX10+ yet ? (which is almost 4 years old by the way) And how come you know this ? The FAQ says context switches but nothing about DX9. You seem to have much more information than those FAQs, so like do you work with them ? And why isn't this kind of information public ?
I was here, on this forum (and the previous forum) working with the many other dedicated people who know much more than I about beta testing and the general client development that FAH has undertaken, watching and occasionally testing the code which proved so troublesome. 7im was too, and he's been here a lot longer than me and knows what he's talking about. Is it really necessary for the Pande Group to document every decision they make in the detail you request? Surely "we tried it, it didn't work to our satisfaction, so we did this instead" is enough?
Folding whatever I'm sent since March 2006 :) Beta testing since October 2006. www.FAH-Addict.net Administrator since August 2009.
bruce
Posts: 20824
Joined: Thu Nov 29, 2007 10:13 pm
Location: So. Cal.

Re: FAH is the weirdest piece of software I ever installed

Post by bruce »

Let's be clear about the components of FAH.

First, there's a client which you download and install. Details about it are below.

Second, there are FahCore's which are computationally intense analysis software. Historically the were designed for a single CPU. During the 10 years of development, a variety of different methods of modelling proteins, solvents, force fields, etc. have been used and many are still in production.

During more recent years, home computers with multi-core CPUs have become common so SMP cores were developed to exploit more that one processor. These FahCores required some tweaks to the basic client. Also, GPUs grew to become a formable source of parallel FLOPS rather than just something that could fill a screen with pixels. This led to a need to rewrite the analysis methodology to keep hundreds of processors busy, not just 2 or 4. With the dream of OpenCL still on the (distant?) horizon, we're faced with separate FahCore's for ATi (CAL/Brook), nVidia G80 (CUDA), and nVidia Fermi. (I'm leaving out the PS3 development intentionally).

In the original title, calling FAH a "piece of software" is a bit of a misnomer since there are many distinct pieces on the PC side which are integrated into a system that includes many pieces on the server side.

As has already been mentioned, the v6 client has taken three branches.
  1. The classic client is simple to install and simple to run. It's stable and it runs stable FahCores.
  2. The GPU client adds tweaks required by the GPU development effort -- and still considered a development effort.
  3. The SMP client, which added tweaks to support MPI and a lot of other complications.
The SMP client maintains it's roots and will still run as a classic client. I'm not sure, but the GPU client probably will too. Hopefully these three separate developments will again merge in a future version of the client.

As a minimum, the client needs to do enough hardware detection to determine if you have a single CPU, a multi-core/multi-CPU system capable of running SMP, and/or one or more GPUs that are supported by the FahCores The client then manages internet I/O and the user interface and dispatches the appropriate FahCore to do the processing of the assigned work. . . and then manages the upload of the results and the download of a new assignment.

Historically, the classic client included a built-in viewer and at one time, ran either as a screensaver or as a 24x7 application. More recently, the viewer was split off from the client and enhanced to render hundreds of thousands of atoms -- which ends up needing a lot of CPU processing which really SHOULD be spend running the FahCore. In addition to this limiation, the development of "good" graphics has not been a priority. It has very little to do with the scientific goals of FAH and tends to give FAH more of the characteristics of a video game than is warranted by serious scientific research. They do support an API that potentially allows 3rd parties to develop better graphics for FAH.
Post Reply