Sci Chat Roundup (Developer Edition)

We had a number of development style questions during our last open call for science chat questions, and as such, weren’t able to prioritize those during our last busy chat. We still wanted to get these answered for everyone, so here they are.

Will a parallel programming language, such as CUDA or OpenCL, ever be used to optimize processing speed in Foldit? Source question

Most of the heavy-weight processing is done inside of Rosetta, so if and when it is added, we can consider it. Aside from the technical problems, this also introduces potential social problems. If the benefits of using these platforms are meaningful, it could make a high end graphics card a requirement for competing. While this is also true for CPUs, CPU performance is not as varied or expensive compared to GPUs. We don't want a situation where your ability to compete is determined by your graphics card.

Will Foldit ever be open source? Currently, only Rosetta is open source, not Foldit. Source question

Unfortunately, this is unlikely. Please note that Rosetta itself is not open source, either.

The descriptions of remix and rebuild in jflat06's blog post raise some questions about how things work. First, if rebuild always works with a fragment length of 3, what does a rebuild of length 2 do? (A certain recipe defaults to starting with length 2.) Source question

In this case, rebuild is not actually inserting a fragment at all. It just places a cut, and then does a loop closure to close it again.

Could someone comment on the internal code:
LocalWiggleSequence in GUI versus structure.LocalWiggleSelected() in LUA:
Are they the same internally?
Or what would be the equivalent LUA function for this GUI one?

Extract from chat on 2017-01-13:
22:09 Wbertro TomTaylor5: converted "Wiggle by sheets" to LUA
22:09 TomTaylor5 Great
22:10 Wbertro but the code does not give the same results as the GUI one
22:10 Wbertro however it does not crash the client at the end
22:11 TomTaylor5 What would you like to hear first? The good news or the bad news?
22:11 Wbertro I think the GUI LocalWiggleSequence code is NOT the same as the LUA LocalWiggle code
22:11 TomTaylor5 That was probably the function I couldn't find.
22:12 Wbertro but the 1322 puzzle I tested them against is so sensitive that two runs don't give the same result twice
22:12 Wbertro I don't think it is a missing function
22:13 Wbertro it is simply DIFFERENT internal code, it seems
22:13 Wbertro I think I will ask on the next chat
Source question

They are using the same underlying procedure, but they differ in how they call it. The GUI script weirdly wiggles the residues sequentially, one at a time.

Thanks for the questions, everyone! We hope these additional answers help.

( Posted by  jflat06 82 704  |  Thu, 02/23/2017 - 19:05  |  7 comments )
bertro's picture
User offline. Last seen 4 hours 55 min ago. Offline
Joined: 05/02/2011
Groups: Beta Folders
Follow-up question to last one

Would you say that this LUA function would be equivalent then to the GUI Local Wiggle Sequence (and auxiliary code) called in the "Wiggle by sheets (GUI)" recipe

function DoIt(StartingSeg,EverySeg,Iter)
print("Starting at "..StartingSeg.." every "..EverySeg.."...")

for i=StartingSeg,segCnt2,EverySeg do

for i=StartingSeg,segCnt2,EverySeg do

Joined: 09/29/2016
Groups: Gargleblasters
Response to OpenCL comment...

My feelings on the matter is that Foldit is what falls under what would be called "a friendly competition", in that no one here is winning anything, and therefore no one is losing anything either. As I understand it, teams only even came about for some "CISPA" (SP?) competition that was supposed to be held once a year (but hasn't in the last 2 or so, from what I saw), but from there it's really just kept on being a thing for the prestige.

The argument that "one with better hardware will be on top" isn't all that different from where things are now, and not from a hardware standpoint, but a recipe standpoint! Each team have their own "proprietary" recipes that are not to be shared with others outside of said group. That, in and of itself, creates an unfairness as one team may have accumulated really good coders, and another may have never bothered.

I admit that I'm on the outside looking in, and I don't have access to the kind of data that the Foldit devs/scientists have. I've seen on some recipes they'll provide an average number of times ran and the average amount of points given. Granted, that doesn't quite tell the whole tale, as some are not meant to advance score, but improve design, which after it has ran will require user interaction. Nevertheless, the point remains that there are already 2 additional means for how one person can attain a higher score than another.

That being said, the vast majority of hardware released in the last 3, and upwards of 5 with dedicated graphics, have support for OpenCL at the basic level (v1.0). That makes the argument of "put them at a disadvantage" even less of a factor since it's implied that those people would be "left out". Virtually every laptop within that time frame that is powered by an AMD CPU will have an AMD GPU (Graphics Processing Unit), and as such will have OpenCL capability. This includes the AMD CPUs which have a built-in GPU (like my Laptop). While they're a minority in the laptop scene, even Intel's chips have had OpenCL support on the GPU side for a number of years (thus the reason for that 3 year baseline). For example, here are all the Apple products which support OpenCL:

On the desktop side of things, pretty much everyone can get in on the action as well, and realistically the number of compatible systems will be just as high as laptop, simply the number capable will have more performance. Even then, for a person to obtain better OpenCL performance would not mean buying the latest and most expensive graphics card. For example the many year old AMD Radeon HD 7000-series cards like the 7850/7870 and 7950/7970 are very powerful OpenCL products, as are the nVidia GTX 400 and 500 series cards like the GTX 480/470 and GTX 580/570. On eBay you can get the nVidia offerings for $40 or less. The AMD Radeon offerings fetch a slight bit more due to having a stronger OpenCL performance and people use them to mine BitCoins (cypto-currency), which currently one BitCoin is worth roughly ~$1250.

What I'm getting at there is that buying a very formidable OpenCL capable graphics card is actually orders of magnitude cheaper than upgrading to a substantially more powerful CPU. Often times to do that you may need a new motherboard, which will run ~$150 or more (as you want quality components for 24/7 operation), with a CPU for it ranging in the $300-1000 range. That's a heck of a lot more than $50 for an OpenCL graphics option, which might I add will work in anything since... around 2005! On top of that, you can plug multiple graphics cards into a system to increase capacity, something not financially viable for people when it comes to pure processing power.

However, I'll admit that as far as FoldIt goes, running multiple GPUs for increased number crunching wouldn't be of much additional use unless we were also doing full-on Rosetta@HOME computations. BUT at the same time, given that Foldit isn't even all that thread-aware as it is, we can't even properly leverage what we do have unless we're running multiple instances of Foldit to run recipes. I just purchased an AMD Ryzen 7 processor which has 16 threads ($320, a quality motherboard runs ~$135, RAM ~$80), which it sucks that Foldit won't really be able to utilize it unless I open up a dozen clients :(

In the end, what I'd ideally like to see would be at least multi-threaded support on the CPU side, but if that's more work than to simply add in OpenCL support, then I'd be more than happy for that! Because my understanding of what Foldit is, was a game to play that had very real scientific merit behind it. If we're worried about "being fare to other players because they might not score as well due to their computer's performance", what are we even doing here? The whole point of having more powerful computers is to allow us to do bigger and greater things, and faster. I personally don't find enjoyment from letting recipes run, I don't feel like I'm doing anything in that regard.

In that light, if we want to be fair to everyone that plays, isn't it also fair to let us take full advantage of the game by playing it how we'd like to? Otherwise, why not just run Rosetta instead?

Sorry for the long read and possibly stern tone, but I just find the reason of "we're not doing it, because we want to be fair to everyone" as being really really flawed. :(

Regardless, thank you for Foldit, and all the work put into it!
-Formula350 / Clint

Joined: 06/06/2013
Groups: Gargleblasters
Trade offs -- let's build the citizen base

Fold it is like everything else -- it can't be ideal for everyone. That said, my concern is to encourage citizen science. Sometimes the "non-obvious" answer is superior to the "obvious" one. It might or might not be reflected in points.
I would guess all players have a mix of motivations -- winning points is fun, but many of us are caretakers or have friends/family with problems we hope Foldit might help address. I expect it is a sliding scale with some focusing almost solely on points, while others on the science and most of us in between
My take -- give us positive and negative feedback about what does and does not work about a puzzle from a scientist's point of view. Point out the quirky but cool solutions. Keep some small puzzles and train in a meaningful way things like ED (like de novos for those of us who really still see nothing but cloud but would like to learn) And remember some of us are on really ancient equipment but truly motivated. More citizens means more chances for that wonderful and unexpected breakthrough to happen. Let's keep that path open and fun for new players

Joined: 03/05/2015
Groups: Gargleblasters
Some good thinking there for the hardware-inclined

And I did a variation on that theme when I installed Windows 10 on my Mac by putting it on a bootable external I already had. $200 all-in for Windows and that was the total cost.

Sadly, it only solves a portion of the problem that I (and some other mac users) have, with a Mac client that doesn't for whatever reason like or run well on our machines. But I could afford to throw a little money at the problem... it solved *some* but not all of the issues, so the rest might well be an incompatibility with some other part of my Mac hardware (a 64 bit system --- is Foldit 32 bit? I think Form was the one who posed that question and it bears looking into.)

There are many different ways foldit could improve the player experience and we have plenty of recommendations floated about... and Form makes some extremely valid points.

Joined: 09/29/2016
Groups: Gargleblasters

64bit would really only help address... well the maximum addressable memory that Foldit could touch! lol

Unfortunately, Foldit doesn't use much memory (RAM) in all my experience so far. I think it has troubles managing what little it does consume, and that's what results in the crashes.

I've used a tool to make the Foldit.exe "Large Address Aware", but I wouldn't anticipate it really has helped any all in all. Nevertheless, I was still kind of surprised to see that it was already LAA. For Foldit this again likely won't have much impact, and only reason I had the utility was because older games that were heavily modded (given additional content made by fans that added to the original gameplay, be it better graphics, more weapons/armor, or additional quests) were running out of memory by default and this allowed them to allocate more than 2GB for use. Anyways, more about that can be found here, though it's strictly technical mumbo-jumbo:

As for all of my fellow Folders who happen to run Macs. Luna went about it the Virtual Machine way, which the software needed to create that costs money, in addition to the Windows product key to activate it. That being said, there IS a free solution that Apple offers that a lot of people do use, called "Apple Bootcamp". The reason Luna wasn't able to get it working was simply due to her "Fusion" hard drive configuration, but for everyone else it should be a fairly straight forward affair and all you'd then need is a Windows product key in order to activate the version of Windows you install, be it Windows 7, 8 or 10.

While you can easily go out and buy a copy of Windows 10 for $80-130 on the "Home" version (more for the other upgraded versions, which for the average user their features are irrelevant), there are far far cheaper methods, which are also legal. For example I just purchased a Windows 10 Pro key off eBay yesterday for.... $8.45 USD. The reason it was so cheap? Because the computer it came with was damaged beyond repair and it was parted out (scrapped). This was actually a UK seller, but the keys generally aren't tied to a specific language, and even if so in this instance... the UK speaks English :P Point is, for anyone with even the slightest technical know-how, or the ability to follow a YouTube or text-based tutorial, you can "Dual-Boot" Mac OS and Windows on your Apple computer, so long as it has enough hard drive space free (you'd want 30GB or so) and an Intel processor (most within the last 7 or 8+ years do). You won't lose anything, either, and can boot into Mac OS anytime you want.

I figure for ~$10, it will breathe new life into your dwindling Foldit spirit if you're a Mac user, and it beats buying a new computer or spending the $150+ route that Luna went. (Not because she wanted to! lol)
Unfortunately I'm a PC user, am really not fond of Apple (as a company, I recognize that they make quality hardware), so I personally am unable to offer the technical assistance to help anyone set up Bootcamp beyond what Google provides me. Which I did look into to try and help Luna, and I can say that Apple's site has their own tutorials to get you started (though, they more want to have you pay them to do it, which they do offer).

Hopefully the Foldit devs will be able to figure out what's going on, but I just figured I'd put this out there for those of you who are giving up, so you know there are options still! :D


Joined: 05/11/2015
Groups: Gargleblasters
Thanks for the info Form. More on my Windows on Mac story

AND A BIG CAVEAT FOR THE ABOVE. What one of the problems with Bootcamp is, is that for some machine configurations (mine, with a 3TB Fusion drive) it simply will not work. Apple available free online support does not tell you this (at least not that I've found - they may, but I haven't got a Mac with a warranty and frankly I dug only so far into their support materials). I BELIEVE that I put the link that I used which had clear and extensive instructions for setting up an external bootable Windows drive... if not I will find that page and post it here.

The bootable Windows 10 drive works perfectly though it must be run exclusively (you have to reboot and hold down the option/alt key just after the startup chime ends and select the Windows boot disk whenever you want to run Windows). Form's suggestion about finding a licensed bargain version of Windows would work well for a user who wanted to set up either a Bootcamp partition (if their HD would accommodate it) or an external bootable to Windows.

And you have to grab a lot of preparatory files from various places on the web in order to get the process right. But it worked, and works fine, and is an alternative if your Mac client is not working. BUT... For now, the devprev update is working on my Mac, no crashes at all yet, and I will report on how well it works once it's had a little more time to run.

So what I am hoping now is that with the (working so far for me but I forgot to turn off the default energy saver settings when I reinstalled Sierra so my Mac went and slept last night instead of working, sigh) latest Devprev update, I won't really need to run the Windows unless I just want to.

Joined: 03/05/2015
Groups: Gargleblasters
Instructions for creating a bootable Windows External on Mac

(Maybe not needed, if the devprev Mac Client works though)
If you elect to try this, read carefully (several times, so that you understand what you need to do very well) and make a checklist before you do anything! Print it out ...You'll be working from your list and won't have a system running so be sure to print it out before you start.
(and back up your Mac to Time Machine prior to starting... trust me, the backup came in handy as I inadvertently wiped out my Mac HD the first try.)

If needed I can expand on this on a separate thread.

Get Started: Download
  Windows    OSX    Linux  
(10.7 or later)

Are you new to Foldit? Click here.

Are you a student? Click here.

Are you an educator? Click here.
Only search
Recommend Foldit
User login
Top New Users

Developed by: UW Center for Game Science, UW Institute for Protein Design, Northeastern University, Vanderbilt University Meiler Lab, UC Davis
Supported by: DARPA, NSF, NIH, HHMI, Microsoft, Adobe, RosettaCommons