But I would definitely kick in something significant as a thank you, and more so if it is Glasswalker out of sympathy for his recent troubles.
First let me say thank you very much for your consideration and support for my "troubles" of late
It's nice to not have someone crying for my blood these days
Also to clarify the speculation on this thread. Yes I have made a fairly major breakthrough on the bitstream... And I would be GREATLY appreciative of any help this bounty can give me (provided I can satisfactorily meet your criteria).
Some quick pieces of info:
- I am working on a 100% custom bitstream, which I am not very close to completing (weeks away at the least, it's EXTREMELY complicated as ET, Enterpoint, and ngzhang can all confirm for you I'm sure). And it takes a HUGE amount of time just to do a test compile/synthesis. Even more for optimization.
- In light of the large delay from a better release, I have shifted my efforts back to an opensource bitstream port of the Icarus bitstream. I had some inspiration/realizations that I thought would allow me to succeed getting an Icarus based bitstream (with several modifications and many fixes/tweaks) to run well on the Cairnsmore1. So I began working on it again.
- I am working on 2 parallel forks right now, mainly because I have 2 workstations, my powerhouse (which is actually owned by my employer, but they let me use it for "side projects" when it isn't tied up with work for them) and the other is my home machine. My home machine is not a super-powerhouse, but it can still do fairly decent compiles, so I use it for my main development machine, and for doing initial builds of the bitstream (a single "compile" to a finished bitstream takes about 4 and 48 hours on my home machine, yes it varies that much depending on several factors). The work machine can run about 12 compiles in parallel at about the same speed. And so Xilinx has a tool called SmartXplorer, which basically spawns off a cluster of every possible compile option, attempting to optimize the hell out of the bitstream to improve clock timing, or placement, or resource utilization, or whatever... I use my work machine for this tool, it runs 12 in parallel, and it runs around 100 passes to come to a full optimization.
- I have built a 200Mhash/fpga (so 800mhash on the cairnsmore1) bitstream on my home machine, but it did not meet timing (it was only able to achieve about 50% clock). I then started it running the optimization at work about 1 week ago. As of Friday it was about 75% complete, but one of the "candidate" builds was VERY close to meeting timing. So I sent it to enterpoint to do testing on their test rig. They were able to achieve some good results (200mhz per chip stable for 30min straight, but it locks up when doing real hashing). This particular candidate was only off from meeting it's timing by about 5%. So a minor additional improvement may help.
- Since that build, last week... I started a second "fork" of the code, with several additional adjustments, fixes, and a few new added features to hopefully improve stability greatly of both the clocking, and the communications code. This fork right now is built around a 175Mhz clock, meaning that each FPGA would pull 175MHash/s (700MHash/s for the whole board). But it can easily be tuned in 25Mhz increments. (meaning 200Mhash is a fairly short step up for it, and it's a minimal modification).
- Once the 200Mhz build is done optimizing (which it should be today, but I need to head into my office to confirm if it finished and check status). I'll fire up the optimization pass on the 175Mhz version. The "original" build of the 175Mhz one is MUCH closer to meeting timing than the 200Mhz one was, and it has improvements for communications and stability. So hopefully it will close timing much faster (ie one of the early attempts will meet the timing requirement, providing a rock solid stable build). If this happens I will send it immediately to Enterpoint, for testing and "official" release.
- My hope is that either the 200mhz one will have succeeded, and that's a quick win later today, or that the 175mhz one will succeed early on, and allow a quick incrimental improvement up to 200mhz after initial release.
- Once I achieve a successful build of the opensource bitstream, I will resume my work on my "from scratch" bitstream. It should significantly outperform the opensource one, but it's a ways off still...
- As for compensation agreement. I have an agreement with enterpoint for the "from scratch" one, that if I release it before they finish their own, they will license it from me for a fixed fee. As for the opensource one, it's opensource. So when I'm done I'll gladly release the source (right now it's in too high a state of flux, and I don't have the spare time to deal with releasing/documenting it right). One concern though, one of the main problems with the icarus code is that it wasn't released by ngzhang in a way that allows an easy build. It's missing all the project files, and so it took a fair bit of work just to get it to build. And I found out (through much digging) that ngzhang requires the use of another third party tool which is commercial, and very expensive to even successfully build his code in the first place (which I believe he pirated). So the code derived from the icarus code may be useful to someone with a fair bit of experience, but it's not the kind of thing that could be setup so "anyone can build it" because the original source requires special tools and so on which aren't free... And I've had to carry this over unfortunately, even with my modifications. But I will do my best to release it in a way that is documented well and includes as many of the missing pieces as possible, so hopefully someone with more time in the community can improve upon it further.
- Anyway, so that's all the facts laid out in the open for you. I'd be extremely happy for any help this bounty can provide once I actually deliver a working bitstream. My motivation for this was never the direct compensation from Enterpoint, though that helped sweeten the pot some, but more so the fact that the syndicate was buying a large amount of cairnsmore boards and this would help us profit from them better. And hopefully I could make a few bucks on the side for my work (which is not being done as part of the syndicate by the way).
- As a rough gauge as to level of effort... For the "from scratch" bitstream, I have put approximately 200 hours of work into it so far (in my own time outside my day job). And the opensource bitstream has required another approximately 80+ hours of the same so far on getting it to the stage it's at now. So this is not a simple task by any means.
- Not that it should matter in your decision making process, but if this works out and I can claim the bounty, I will use the money to help rebuild the syndicate in light of the money that was stolen. But that said, I want to be clear in my intentions. I do not believe I am at fault for what happened, and I stand by my decisions. It was tragic that the money was stolen from myself and the syndicate in the way it was. This work was always "my" work, not the syndicates. And so while I will use the money to help rebuild the syndicate, I will not directly "give" the money to the syndicate. Both because I don't feel it's neccisary, and because I feel that doing so would in a way, be an admission of guilt (and I am not guilty of anything here). What I propose to do (provided my shareholders agree) is to use money you provide, and any "compensation" from enterpoint to aquire Cairnsmore boards, which will be loaned to the syndicate to mine for the syndicate until the syndicate is caught back up to 12Ghash of it's own mining power (which is where it was before the theft). I will likely mine for them longer than that to help build it up further of course, but that's the approach I intend to take if I can gain this bounty.
Anyway I hope that helps clarify for you, I'm going to quit writing a giant wall of text now, and get back to work on that bitstream!
(oh and one last thing, in addition to the money, it would be nice to throw in condolences to my wife for loosing her husband for the past couple months while I worked on this in addition to my already demanding day job) lol.
Let me know your thoughts. And it would be nice to see a single centrally clarified post of what the "criteria" are for this bounty, so I know where my "goalposts" are.