Y-Cruncher Multi-Threaded Pi-Benchmark Updated with GUI and HWBOT Compatibility

y-cruncher is a benchmark program that computes Pi and other mathematical constants to the region of billions or even trillions of digits. The program was created to calculate the vastest Pi numbers possible and in fact holds the world record for the most ever recorded; 13.3 trillion to be exact. Previously only available sans user interface, our man Mystical has taken the time to create a more complete app that integrates a graphical user interface and the ability to submit on HWBOT.

Originally developed in 2009 as a high school project by Alexander J. Yee, y-cruncher is actually quite unique in a number of different ways. It’s the first Pi computing program that can use multiple threads for a near linear boost in calculation speed, it can also use and stress unlimited amounts of system memory and it also uses ISA extensions such as SSE and AVX available on most modern processors.

The new app created by Mystical is called the y-cruncher HWBOT Submitter. It's written in Java and requires Java 8 runtime to run. Note: y-cruncher itself has no requirements other than Windows Vista or later or above. The app includes three presets; Pi to 25 million digits, 1 billion digits and 10 billion digits. The 25 million digit run will complete in just under two seconds, whereas the 10 billion run will require 48GB of memory.

You can learn more about the y-cruncher HWBOT Submitter on the forum thread here.


107

United States Mysticial says:

I'm not sure how many of you are familiar with the y-cruncher Multi-Threaded Pi Program.




It's been around for quite a while now (since 2009). In short, it's a program that computes Pi and other constants to billions/trillions of digits. It currently holds the world record for the most digits of Pi ever computed (13.3 trillion digits) as well as a bunch of other less popular constants.

y-cruncher is also the first Pi computing program that can:
[LIST]
Use (and stress) an unlimited amount of memory.
Pi - 25 million digits: Overclocking, overclocking, and much more! Like overclocking.
Pi - 10 billion digits: Overclocking, overclocking, and much more! Like overclocking.
[/LIST]

The 25m benchmark will go under a few seconds for modern hardware. That's too fast, so we'll probably drop that at some point. The only reason it exists in the first place is because it's fast and easy to test.

The 1b benchmark is the standard size. It requires about 5 GB of ram to run and will take a few minutes to run for most high-end systems.

The 10b benchmark will require 48 GB of ram. That basically implies a minimum of Skylake, Haswell-E, or some server. If you don't have enough memory, it's possible to run it using swap mode. But that's more complicated to setup and will be slower than doing it all in memory.


[SIZE="4"]How does it work?[/SIZE]

Anyone who's familiar with y-cruncher will know that it outputs a validation file at the end of every computation. The submitter app is a runnable .jar file that you can put in the y-cruncher folder.

When you run it, it automatically searches out all the validation files and verifies the checksums in them. The ones that are valid and match a supported HWBOT size are available for submission to HWBOT.

The submitter app is a wrapper on top of y-cruncher itself. No changes to y-cruncher were needed for this to happen. And quite frankly, I designed it this way so that I could keep all the Java networking/GUI separate from the 300,000 lines of ugly C++ that is y-cruncher.


[SIZE="4"]Download:[/SIZE]

Current y-cruncher version: 0.7.1.9466
Current HWBOT submitter version: 0.9.5.103

If you already have y-cruncher (v0.6.6 or later), you can download just the HWBOT Submitter and place it in the y-cruncher folder.
[LIST]y-cruncher v0.7.1 with HWBOT Submitter[/LIST]

[SIZE="4"]Version Support:[/SIZE]

The submitter app:
[LIST]
Supports benchmark integration with y-cruncher v0.6.6 - v0.7.1.
[/LIST]
Despite being written in Java, the submitter app does not run in Linux (at least I couldn't get it to run). But at the very least, validation files generated in Linux can still be submitted to HWBOT if you transfer it to Windows and run the submitter app there.

I have yet to figure out why it's broken in Linux, but it seems to involve the JavaFX library. In any case, even if someone does manage get it to run, the benchmark integration will still be broken since it uses Windows-specific command-line parameters to launch y-cruncher.


[SIZE="4"]Version History:[/SIZE]

Main Page: http://www.numberworld.org/y-cruncher/version_history_ui.html

Belgium Massman says:

Thanks for this - I really like Y-cruncher, especially for testing big memory configs. It seems that 25m might be a bit too easy for the current systems as we're already below 2 seconds. Maybe swap this one out for a more heavy test than 1b? I wouldn't mind seeing a test which requires 32GB memory or more ... just to see how the high density guys clock their gear!

Belgium Massman says:

Just tried the submitter - I'm very impressed with the way you handled the flow from bench to submit! :celebration:

One issue though, I can't seem to submit my Pi-25m result. I'm using the "y-cruncher v0.6.9 with HWBOT Submitter"


Australia newlife says:

That's some awesome news

United States Mysticial says:

Massman said: Just tried the submitter - I'm very impressed with the way you handled the flow from bench to submit! :celebration:

One issue though, I can't seem to submit my Pi-25m result. I'm using the "y-cruncher v0.6.9 with HWBOT Submitter"


Ugh... I tested this thing on at least 4 different computers before I felt confident enough it would work.

I'm unable to reproduce it locally, but HWBOT.org is intermittently timing out. (not sure if that's in any way relevant)

How consistently are you getting that error? Is 100%, what about on other machines? As of right now, there's no way for me to debug it unless I have it output both the datafile and the server-sent error message.

(Btw, I'm willing to share the source code of the submitter app with HWBOT if that makes anything easier.)

GENiEBEN says:

Java.

Belgium skulstation says:

same here.
evri time i try to submid i have this error.

United States Mysticial says:

skulstation said: same here.
evri time i try to submid i have this error.


Thanks. Since this is happening with more than one person and HWBOT.org is stable atm, then it's a problem with the app itself.

I'll push out an update (hopefully tonight) that will log the datafile and error message that HWBOT sends back.

Belgium skulstation says:

Mysticial said: Thanks. Since this is happening with more than one person and HWBOT.org is stable atm, then it's a problem with the app itself.

I'll push out an update (hopefully tonight) that will log the datafile and error message that HWBOT sends back.


ok thx.have the same error on my wifes Laptop whit win 8

FlanK3r says:

good work guys!

FlanK3r says:

awesome, this benchmarkm is also very stressfull. But I like it :)

United States Mysticial says:

[QUOTE=Massman;438309]One issue though, I can't seem to submit my Pi-25m result. I'm using the "y-cruncher v0.6.9 with HWBOT Submitter" [/QUOTE] [QUOTE=skulstation;438419]ok thx.have the same error on my wifes Laptop whit win 8[/QUOTE] I've just uploaded a new version (v0.9.1.61) that will output the datafile and the full error message when a submission fails. If it fails again, please send me the following files: (zip them up and attach here) [LIST] [*]error-response.txt [*]error-datafile.hwbot [*]Validation - Pi - 25,000,000.txt (or whatever you ran) [/LIST] Hopefully that will be enough for me to figure out what the hell went wrong. Unfortunately, that's the best I can do since I've been unable to repro the error on any of my own machines. (Btw, the datafile is encrypted. But it's being sent unencrypted to HWBOT since I can't get that to work.)

Belgium skulstation says:

stil not working on wyfes loptop.
when i am back home after work i gone try it on the other config and send all the files.
what is your e-mail to send it.pm don't like one hwbot file :)

Germany JeRiKo1 says:

Here are some error files

United States Mysticial says:

skulstation said: stil not working on wyfes loptop.
when i am back home after work i gone try it on the other config and send all the files.
what is your e-mail to send it.pm don't like one hwbot file :)


Right, I haven't actually fixed anything yet with v0.9.1.61. All I did was add the logging.

JeRiKo1 said: Here are some error files


Thank you! That did it:

org.xml.sax.SAXParseException; lineNumber: 8; columnNumber: 27; cvc-datatype-valid.1.2.1:

'9,518' is not a valid value for 'decimal'.

A localization bug. Decimals were being converted with commas instead of a decimal point. And because of that the HWBOT server couldn't parse them.

I just pushed out a fix for that. See if v0.9.1.62 works for you guys.

I can't guarantee that's the only localization bug. But at least we're one step closer. And that would explain why it worked on all my machines.

Belgium skulstation says:

Mysticial said: Right, I haven't actually fixed anything yet with v0.9.1.61. All I did was add the logging.



Thank you! That did it:

A localization bug. Decimals were being converted with commas instead of a decimal point. And because of that the HWBOT server couldn't parse them.

I just pushed out a fix for that. See if v0.9.1.62 works for you guys.

I can't guarantee that's the only localization bug. But at least we're one step closer. And that would explain why it worked on all my machines.


it works on the tyan test setup :) whil also test it on wifes Laptop

edit : it also works on the wifes laptop
http://hwbot.org/submission/3173421_skulstation_y_cruncher_pi_25m_2x_xeon_5148_15sec_993ms?recalculate=true

Belgium Massman says:

Works here too: http://hwbot.org/submission/3173424_massman_y_cruncher_pi_25m_core_i7_4500u_5sec_787ms?recalculate=true Will try to fire up a more capable system later today :)

Russian Federation ZFeSS says:

Good work!
Mysticial, can I ask you some question?
You used Java only for GUI? So is it possible to run benchmark, save validation file and submit through java app on other machine? I think most benchers don't like 2D benchmarks that require additional software to run.
As far as I can understand benchmark run linux, problem is in java submitter?

United States Mysticial says:

ZFeSS said: Good work!
Mysticial, can I ask you some question?
You used Java only for GUI? So is it possible to run benchmark, save validation file and submit through java app on other machine? I think most benchers don't like 2D benchmarks that require additional software to run.
As far as I can understand benchmark run linux, problem is in java submitter?


Correct. Only the submitter app is in Java. The main app has always been in C and C++. I chose Java for the submitter app because GUI and networking is a pain-in-the-ass in C++. (I also expected it to work out-of-the-box in Linux as well.)

Yes, the validation file is the only thing that matters. So you can run the benchmark one machine, and transfer it to another machine to submit it.

For that matter, any Pi computation to one of the supported sizes can be submitted to HWBOT. It doesn't have to be one of the benchmark options. You can use the custom compute menu to fine-tune the parameters. (Hint: The default parameters are often sub-optimal. So you'll probably need to do this anyway to get the best possible time.)

In the future, I'm probably going to add one limitation in that the computation has to be contiguous. (So that you can't start a computation on a fast computer, pause it, and finish it on a slower one to make the slow one appear faster than it really is.)

United States Mysticial says:

Update: I finally got the datafile encryption to work. So that has been enabled along with a new version of the submitter. (v0.9.2.64) This also means that older versions of the submitter will no longer work. So you'll need to download the new version. With this, I also switched the benchmarks to public beta.

France nexus35 says:

Hello
I nevertheless uses the latest version.
I do not understand?

United States Mysticial says:

nexus35 said: Hello
I nevertheless uses the latest version.
I do not understand?



That's strange... It works for me.

Since the version restrictions clearly aren't working consistently, I went ahead and disabled them. I added those yesterday because I wanted to blacklist v0.7.1 until it is released. (There are a few of copies floating around out there. And they are faster than v0.6.9, so it wouldn't be a fair to those with only v0.6.9.)

I guess that probably explains why there haven't been any submissions lately... Oops...

Belgium Massman says:

Works here - http://hwbot.org/submission/3177103_massman_y_cruncher_pi_25m_core_i7_4500u_5sec_536ms I'll set up a small competition to test the benchmark :)

France nexus35 says:

It's good now

France Taloken says:

Hi ^^

Trying y-cruncher at the moment, congrats for the well integrated Hwbot wrapper !
25M and 1B done, i'm currently running the 10B ... see you the next decade xD

FX-8350 and 16GB, i put the bench on my hdd and enabled the swap mode.
Now, 54% completion for 1h11.

Just a question, y-cruncher use the disk where it is, or it use system disk ? maybe my ssd is getting raped x)

Edit : ok i see the files, it use current hdd, my ssd is safe ^^'

United States Mysticial says:

Taloken said: Hi ^^

Trying y-cruncher at the moment, congrats for the well integrated Hwbot wrapper !
25M and 1B done, i'm currently running the 10B ... see you the next decade xD

FX-8350 and 16GB, i put the bench on my hdd and enabled the swap mode.
Now, 54% completion for 1h11.

Just a question, y-cruncher use the disk where it is, or it use system disk ? maybe my ssd is getting raped x)


Are you running 10b in "Ram Only" mode or "Swap Mode"? If you're running it through the submitter, it will be in Ram Only mode and it will thrash the pagefile. If you're running it in Swap Mode directly in y-cruncher, then it will use the default path unless you specify otherwise. (Even though Swap Mode uses the disk, it is much more efficient than the pagefile.)

The default path will be wherever you double-clicked to open the program. So if that's your boot drive with the SSD, then yes it will be "raping" your SSD.

Wearing out an SSD is possible if you're not careful. But this is mainly a problem for the really big runs. (A 100b computation will incur 20+TB of writes if you have no more than 32GB of memory.)

France Taloken says:

swap mode, manually via the commande line. But hell, it doesn't progress for a percent in 20min ... only semi-load iterations of "VST-PM" & Co. What the point of these phases ?

United States Mysticial says:

Taloken said: swap mode, manually via the commande line.

But hell, it doesn't progress for a percent in 20min ... only semi-load iterations of "VST-PM" & Co.
What the point of these phases ?


The computation isn't really linear. It's divided up in to multiple blocks of unequal size. While it's possible to derive the % mark at the top level, it's almost impossible within each block. What you're seeing are the progress indicators deep within the computation algorithm itself.

For the most part, those internal progress indicators are meaningless to anyone who isn't familiar with the algorithms that are used. I used to hide them prior to v0.6.1. But when you're running a really large computation that takes weeks, seeing a static "XX%" indicator for several days straight doesn't provide much in the way of positive reinforcement that the computation is still running. So I ended up turning them on in the public versions even if hardly anyone will be able to decipher its meaning.

Belgium Massman says:

Fyi, in case anyone is interested, here's the link to our beta test competition: http://oc-esports.io/#!/round/ycruncher_beta_contest. I'm off trying the 1B :D

France Taloken says:

10B -> 3h43min http://hwbot.org/submission/3177754 Swap mode on a single drive is painful *_*

Belgium Massman says:

Is that with an SSD? Or HDD?

France Taloken says:

i put it on the HDD

United Kingdom No1Spank says:

The submitter says it can't detect a compatible version of Y-cruncher on all my computers.

Belgium skulstation says:

lol System was not stabel.crach in 10b after some hours of crunching, was watching the furst belgium in the F1 :)
whit 8 gig fb-dimm ram and swaping to a singel ssd.
almost 1TB swapped to the ssd :)

United States Mysticial says:

No1Spank said: The submitter says it can't detect a compatible version of Y-cruncher on all my computers.


How are you running it? It needs to be unzipped and in the same folder as y-cruncher.exe.

(In reality, it actually parses the "Read Me.txt" file to determine the version # of y-cruncher that it's trying to interface with.)

South Africa vip3r011 says:

win 10/server 2012 r2 allowed?

United States Mysticial says:

vip3r011 said: win 10/server 2012 r2 allowed?


That's probably a question for Massman. I would guess that the answer is yes for now since it's still a beta. So now is the time to identify any exploits with the benchmark.

I actually don't know if y-cruncher is vulnerable to the base clock exploit/cheat. But I would assume yes.

In any case, it would be difficult to reliably enforce a ban on specific operating systems since the validation files do not record the OS information. So if someone is inclined enough, they could run the benchmark in Win8/10 with the base clock exploit/cheat. Then reboot the machine into Win7, fake a screenshot and submit it.

This will be fixed in v0.7.1 as it will record the OS version into the validation file.

With that said, if anyone knows how to implement a high-resolution timer (in C++) that is resistant to the base clock exploit, please let me know.

South Africa vip3r011 says:

nice benchmark, nice stress test also, not so nice heat output :(

France COMIAS says:

Hello, I have a recurring problem, each time I run into Pi-1B or even 89%, I have the right to a message:
Redundancy Check Failed: coefficient is too large.

an idea?

United States Mysticial says:

vip3r011 said: nice benchmark, nice stress test also, not so nice heat output :(


Everything that heavily uses 256-bit AVX will do that on Haswell. I presume not too many benchmarks use AVX.

COMIAS said: Hello, I have a recurring problem, each time I run into Pi-1B or even 89%, I have the right to a message:
Redundancy Check Failed: coefficient is too large.

an idea?


Is this happening even when the hardware is completely stable? That error normally only shows up on hardware instability. The fact that you're seeing it so early (and consistently) suggests something is seriously broken. But nobody else seems to be hitting it...

Did you do unusual tweaks to the OS? I can only think of two possible things, but I'm not sure if they're even possible...

South Africa vip3r011 says:

using 1366 here, haswell to new for me :).

that errors i hit this morning on the r3e , overclock wasnt stable.

got a hp ml150 g6 board here with two xeon L5520,,need to test but, 12gb ram only , will it do swap on 2x300gb sas raid? the 10billion test..

France COMIAS says:

Mysticial said:
Is this happening even when the hardware is completely stable? That error normally only shows up on hardware instability. The fact that you're seeing it so early (and consistently) suggests something is seriously broken. But nobody else seems to be hitting it...

Did you do unusual tweaks to the OS? I can only think of two possible things, but I'm not sure if they're even possible...


No changes, and even the stock has hardwares that me also displayed.
Pi-25m goes smoothly
but Pi and Pi-1b-10B, its not want to know. every time I have the right to error.

United States Mysticial says:

vip3r011 said: using 1366 here, haswell to new for me :).

that errors i hit this morning on the r3e , overclock wasnt stable.

got a hp ml150 g6 board here with two xeon L5520,,need to test but, 12gb ram only , will it do swap on 2x300gb sas raid? the 10billion test..


Yeah, the program doesn't really care what you're running on. In fact it doesn't even know. All it knows is a path.

If you're interested to see what a "high-end" swap mode configuration looks like, here's my 4770K doing the 10b with only 32GB of memory.

http://hwbot.org/submission/3178862_

United States Mysticial says:

COMIAS said: No changes, and even the stock has hardwares that me also displayed.
Pi-25m goes smoothly
but Pi and Pi-1b-10B, its not want to know. every time I have the right to error.


I was going to ask for more details of your system. But then I noticed that you did manage to get a 1b score submitted.

What did you change? I'm really curious since it really shouldn't be happening so I'd like to fix it (or at least do something about it) in future versions.

Btw, someone else seems to be hitting the problem as well - which is why I'm concerned.

South Africa vip3r011 says:

Mysticial said: Yeah, the program doesn't really care what you're running on. In fact it doesn't even know. All it knows is a path.

If you're interested to see what a "high-end" swap mode configuration looks like, here's my 4770K doing the 10b with only 32GB of memory.

http://hwbot.org/submission/3178862_


damm impressive..with swap!

United States Mysticial says:

vip3r011 said: damm impressive..with swap!


Call me fanatical, but that entire machine is custom-built to run y-cruncher's swap mode. It's sole purpose is actually to test y-cruncher through its development.

It's got 4 versions of Windows, 3 versions of Linux, and absolutely nothing installed other than compilers and overclocking tools.

Belgium Massman says:

I think you'll find this community is very approving of "fanaticals" :D

France COMIAS says:

Mysticial said: I was going to ask for more details of your system. But then I noticed that you did manage to get a 1b score submitted.

What did you change? I'm really curious since it really shouldn't be happening so I'd like to fix it (or at least do something about it) in future versions.

Btw, someone else seems to be hitting the problem as well - which is why I'm concerned.


I simply increase my virtual memory is 8192 MB 0 MB
And I can walk in a settings Y-cruncher, option 3.
I joined you the validation file of Pi-1B if cel may help you to understand, that was changing.

By against Y-cruncher, is very hot CPU .... my i7 4790K has 4.5Ghz, above 80 ° C in benchmark .....

Incidentally, his will that everyone sticks the screenshot to their score as many do that put pictures of their config. too bad.

PS: sorry for my english but I translated with Google.

United States Mysticial says:

I'm gonna leave this right here:




HPET detection seems to work on all 4 of the machines that I've tested on. There's an additional hardware timer that I'm interested in testing, but none of my machines are suitable for that. So that'll have to wait.

That's enough for the meantime. Too much programming means that I fall behind on my Anime... :(

p.s. Don't hold your breath for what's in the screenshot. This required a change in y-cruncher itself. And therefore it will need to wait until v0.7.1 is launched. (That will take a while and I definitely will not do it before the beta competition finishes since it will break speed consistency.)

Poland barti27 says:

what you need to do to make this datafile span which convert every

websmile says:

Can you please xplain why I can submit with the hwbotsubmitter but same file I think cannot be uploaded at hwbot form?

United States Mysticial says:

websmile said: Can you please xplain why I can submit with the hwbotsubmitter but same file I think cannot be uploaded at hwbot form?


Originally, it was because the datafile wasn't encrypted. So you could just edit and submit whatever you want. But that point is moot now since I got the encryption to work.

But one problem remains:

I haven't tested this so I can't confirm it. But by the looks of it, HWBOT doesn't try to verify if the datafile is actually for the right benchmark. So you can manually submit a 25m benchmark into the 1b category.

That's a big enough loop-hole for me to simply disallow manual submissions for now. I could fix that by using different encryption keys, but that complicates things and it wasn't something I considered important enough to bother with.

websmile says:

That´s ok and a good reason, for me the problem is more people asked me and I could not explain - thanks :)

Italy Sandalo says:

Win XP doesn't work

United States Mysticial says:

Sandalo said: Win XP doesn't work


Support for Windows XP was dropped 4 years ago. Version 0.5.5 was the last version that could run on XP. Unfortunately, only v0.6.1 and later is supported for HWBOT.

In short, the latest versions can't run on XP because they make system calls which didn't exist prior to Vista.

As far as performance goes, you need a minimum of Win7 SP1 to be able to run the AVX binaries. So even if you could run on XP, you can expect a slow-down of at least 2x compared to Win7 SP1 and later. (Assuming you're running on Haswell.)

Italy Sandalo says:

Thanks

United States Mysticial says:

I just pushed an update to the submitter app. The new features are:
[LIST]
An option to easily override the binary selection.
[/LIST]
Along with this are some miscellaneous UI changes. The top menu bar is largely redundant for now. It's a placeholder for later when there isn't enough space to make a button for everything.

The screenshots are sent as part of the datafile. Due to the encoding that HWBOT uses, the datafiles would be really large. So I had to turn on compression. In other words, the older versions of the submitter will no longer work. So you will need to update to this one to make any new submissions.

Hopefully this won't be too problematic for everyone. Please let me know if there are any issues with this new version. Quite a few things changed and it's possible I broke something.

Here's what the latest version looks like: http://hwbot.org/submission/3189606_


Belgium skulstation says:

for me the new Version is not 100% ok.
i can run ,but submition butten don't work.
and manuel submitting give : Invalid data file: Unable to decrypt the datafile

United States Mysticial says:

skulstation said: for me the new Version is not 100% ok.
i can run ,but submition butten don't work.
and manuel submitting give : Invalid data file: Unable to decrypt the datafile


Ugh...

Manual submissions have always been disabled for reasons I mentioned in the other thread.

In what way is the submission button not working? It doesn't do anything when you click? When you click it, do you at least get the status update on the bottom right corner?




The behavior of that changed since the last version. Previously, the entire app would freeze while it sends out the datafile. But with screenshots, the datafile is much larger. So depending on your internet connection, it may freeze for a long time. So I changed the implementation so it wouldn't freeze but would at least display an indicator that it's still sending.

Belgium Massman says:

Submission worked here: http://hwbot.org/submission/3189693_massman_y_cruncher_pi_25m_core_i7_4500u_12sec_927ms I'm super impressed with the integration, [MENTION=34405]Mysticial[/MENTION], brilliant approach to the integration problem. If all benchmarks would have a submit function like this, part-taking in OC would be so much easier!

United States Mysticial says:

Massman said: Submission worked here: http://hwbot.org/submission/3189693_massman_y_cruncher_pi_25m_core_i7_4500u_12sec_927ms

I'm super impressed with the integration, [MENTION=34405]Mysticial[/MENTION], brilliant approach to the integration problem. If all benchmarks would have a submit function like this, part-taking in OC would be so much easier!


That's a pretty low bar to be "impressed" by. :) If I tried to present this to the UI folks back when I was at Google, they would've blown me off and told me to go back to programming.

In all seriousness. I'm also a user of the app. So if something doesn't feel right, or inconvenient, I'll tweak it until it does. After a few iterations of that, this is what it converged to (at least for my workflow).

The screenshot one was particularly tricky since I didn't want to over-complicate the UI. Screenshots are very invasive and can capture sensitive stuff. So I wanted the user to know exactly what he/she is about to send before actually sending it. And then there was the horrific side-effect of making the datafile really big and taking 20 seconds to send and freezing the app for the entire time. (My 2560 x 1440p monitor screenshots to a 2MB png.)

Belgium skulstation says:

submition working whit out the screenhot.
but if i click take a screenshot furst and than submit. noting happens ,no message : sending datafile, pleas wait

United States Mysticial says:

skulstation said: submition working whit out the screenhot.
but if i click take a screenshot furst and than submit. noting happens ,no message : sending datafile, pleas wait


So you do not see the message, "Sending datafile. Please wait..."?

It may take a few seconds before the message pops up. But if you have a slow internet connection or a really large screenshot, then the actual sending may take a while. It takes 20+ seconds for me if I try to upload a 1440p image. And my connection isn't the worst one out there.

It sounds like I need to make the send progress more explicit. That way even when it's not working, it's clearer where it gets stuck. Unfortunately, I can't do a progress bar since the Java network API doesn't seem to have any way to relay that information back to the caller.

Belgium skulstation says:

yes i don't see the message, "Sending datafile. Please wait..."
i am alredy waiting 8 minits sind the last try

Mysticial said: So you do not see the message, "Sending datafile. Please wait..."?

It may take a few seconds before the message pops up. But if you have a slow internet connection or a really large screenshot, then the actual sending may take a while. It takes 20+ seconds for me if I try to upload a 1440p image. And my connection isn't the worst one out there.

It sounds like I need to make the send progress more explicit. That way even when it's not working, it's clearer where it gets stuck. Unfortunately, I can't do a progress bar since the Java network API doesn't seem to have any way to relay that information back to the caller.

United States Mysticial says:

[QUOTE=skulstation;442015]yes i don't see the message, "Sending datafile. Please wait..." i am alredy waiting 8 minits sind the last try[/QUOTE] Try this one and see how far it gets. Version 0.9.3.95: [url]http://www.numberworld.org/y-cruncher/HWBOT%20Submitter%20v0.9.3.95.jar[/url] I did manage to hack in a progress counter for the submission. When everything works properly, you should see things in this order: [LIST=1] [*]Building datafile. Please wait... [*]Sending datafile. Please wait... [*]Sending: XX.X MiB / XX.X MiB [/LIST] That last one will refresh every second until the submission is complete. Then it disappears. If any errors occur, there should be an error-box that pops up. If something crashes, you probably won't see anything and it will hang. Anyway. I need to get some sleep. So I probably won't be able to respond for quite a while.

Belgium skulstation says:

whil try it.after the 10b run :)

edit: the message, "Sending datafile. Please wait..." apears for a second or 2 and then noting.
whil try it now on a other system

United States Mysticial says:

I was going through the submissions and I noticed a number of multi-socket systems that have seemingly terrible performance. (Especially that 4-socket Magny-Cours Opteron.) I'll go ahead and explain why this is the case. It will probably be obvious to those of you who are familiar with the topic. ----- [B]Why does y-cruncher (sometimes) suck on multi-socket systems?[/B] This is due to memory access. Specifically, [URL="https://en.wikipedia.org/wiki/Non-uniform_memory_access"]Non-Uniform Memory Access (NUMA)[/URL]. y-cruncher can only run efficiently when the following assumption is true: [LIST] [*]Every core/processor has fast access to all the memory. [/LIST] This is true for all single-socket systems as well as some of the pre-Nehalem dual-socket servers. But not on modern multi-socket systems. On multi-socket systems, each processor socket has its own set of memory banks. A processor has fast access to its own set of memory. But if it needs to access memory that's elsewhere (on a different socket), it needs to go over the interconnect to get it from the other processor. So it's a lot slower. In other words, the assumption that is critical to y-cruncher's performance is no longer valid. Some memory is faster, and some memory is really slow - hence "Non-Uniform Memory Access". If you have two sockets, half the memory will be fast and the other half slow. If you have a lot of sockets, then the vast majority of the memory will be slow with respect to each individual processor. [B]If you think that's bad, get ready for more bad news.[/B] Operating systems are aware of the NUMA. So they try to be smart about it. When a program runs, it biases the memory in favor of the core that asked for it. This maximizes locality so that memory access stay within the same NUMA node. While this sounds reasonable for most applications, it actually backfires for y-cruncher. Unlike most programs, y-cruncher wants to use the [I]entire[/I] system. Some of you might have noticed that y-cruncher's memory usage is static throughout the entire computation. What's happening is that y-cruncher allocates all the memory it needs upfront and reuses it through the computation. And that's where the problem is. That allocation is done by a single thread. So the OS will put all of it on one NUMA node. During the computation, y-cruncher spawns threads that run on all the cores and all the sockets/NUMA nodes. Since all the memory is on one socket, all processors from all the sockets will hammer that one socket. Not only is it overloading the memory bandwidth in that node, it's also swamping the QPI going in and out of that socket. Meanwhile, all memory on the other nodes are idle. In other words, a massive traffic jam while everybody tries to park in one garage while there are 3 others that are empty. This is why the performance sucks on those quad-Opteron servers. It also affects Intel machines as well, but to a lesser degree since they seem to have better interconnects. [B]What can you do about it?[/B] The biggest problem is the traffic imbalance. If your BIOS has the option to disable the NUMA, then do it. This doesn't actually disable the NUMA since the NUMA is a physical thing, but it tricks the OS into thinking there's no NUMA so it randomizes the memory allocations across all the nodes. In Linux, you have a bit more control. The numactl package lets you run a program with interleaved memory. This also spreads out the memory across the nodes. These tweaks will help y-cruncher run faster. But it doesn't completely solve the NUMA problem. There's still the latency problem, and even when the interconnect traffic is balanced out, it will still be a bottleneck. Solving the NUMA problem can only be done by redesigning the program. That's obviously beyond the scope of benchmarking. That said, it doesn't mean you should avoid multi-socket systems. A high-end dual-socket machine that is properly configured will still beat out all the single-socket setups - LN2 or not. [B]What makes y-cruncher different from programs like wPrime?[/B] y-cruncher actually needs to use memory - and a lot of it. (Not that I needed to say that.)

France Taloken says:

When you will have time after finalizing Y-Cruncher launcher, it would be appreciated if you could give your talents to rebuild Hwbot Prime and Unigine launchers. Open a Kickstarter/GoFundMe, we'll take care of you. (Joke aside, if it happens one day, i would totally fund it ! )

South Africa vip3r011 says:

one nice feature to UI , adding swap mode, because for total novice this will be very difficult to do via command line.. but so far very good..

United States Mysticial says:

vip3r011 said: one nice feature to UI , adding swap mode, because for total novice this will be very difficult to do via command line..
but so far very good..


I've thought about that. But swap mode is part of the custom compute menu. And that custom compute menu is f:D:oking complicated. So it will take a lot of work to mirror that menu into the UI.

Aside from that, there are some technical roadblocks. The custom compute menu is an interactive menu. Unlike the benchmark menu, you can't just fire a command at it and expect it to always work gracefully.

The custom compute menu will show memory calculations and warnings. It will also hide/disable options that aren't applicable or are incompatible with existing settings. And it will automatically adjust things in response to user-input.

But in order to do that in the UI, y-cruncher needs to be able to send information back to the UI. Unfortunately, that's not possible right now. And I don't know how to do it that atm. That said, I can try to design something around this limitation, but no promises.

Slinky PC says:

Massman said: Thanks for this - I really like Y-cruncher, especially for testing big memory configs. It seems that 25m might be a bit too easy for the current systems as we're already below 2 seconds. Maybe swap this one out for a more heavy test than 1b?

I wouldn't mind seeing a test which requires 32GB memory or more ... just to see how the high density guys clock their gear!


[MENTION=47]Massman[/MENTION], Y-Cruncher Pi-10b.. to bad.. to crashing on "base converting" with a Pi. 697 seconds (i7-5960x & ram 65gb all h2o here) jk

Brazil Pedro2553 says:

guys i have an i7 3820 at 4.9ghz and im getting horrible times anyone knows why?? i get 3.265sec on the 25m and 225.801 on the 1B there are core i3 better then this =/

United States Mysticial says:

Pedro2553 said: guys i have an i7 3820 at 4.9ghz and im getting horrible times anyone knows why??

i get 3.265sec on the 25m
and 225.801 on the 1B
there are core i3 better then this =/


Sandy Bridge processors don't have AVX2.

South Africa vip3r011 says:

Mysticial said: I've thought about that. But swap mode is part of the custom compute menu. And that custom compute menu is f:D:oking complicated. So it will take a lot of work to mirror that menu into the UI.

Aside from that, there are some technical roadblocks. The custom compute menu is an interactive menu. Unlike the benchmark menu, you can't just fire a command at it and expect it to always work gracefully.

The custom compute menu will show memory calculations and warnings. It will also hide/disable options that aren't applicable or are incompatible with existing settings. And it will automatically adjust things in response to user-input.

But in order to do that in the UI, y-cruncher needs to be able to send information back to the UI. Unfortunately, that's not possible right now. And I don't know how to do it that atm. That said, I can try to design something around this limitation, but no promises.

thought so , maybe via a batch file?

United States Mysticial says:

vip3r011 said: thought so , maybe via a batch file?


I don't see how a batch file would help anything. What did you have in mind?

United States Mysticial says:

Alright... Someone in China was kind enough to give me remote access to a dual Xeon E5-2696 v4 (Broadwell-EP)

It's got 44 cores/88 threads and 768 GB of ram. And after playing around with it for a few hours, I have some benchmarks for it.

Does anyone mind if I lay waste to the leaderboards? ;)
I feel very guilty just thinking about it since I wrote the benchmark.

Btw, getting the program to run efficiently on these high-end boxes is actually quite difficult. At this level, the program is very sensitive to a lot of things. Combine that with a half-dozen knobs to turn within the program and it's a very large search space to play with.

Belgium Massman says:

Can't wait to see the results :D

United States Mysticial says:

[QUOTE=Massman;444984]Can't wait to see the results :D[/QUOTE] Fine... :o I hope I don't get yelled at. [LIST] [*][url]http://hwbot.org/submission/3207669_mysticial_y_cruncher_pi_25m_2x_xeon_e5_2696_v4_0sec_780ms[/url] [*][url]http://hwbot.org/submission/3207633_mysticial_y_cruncher_pi_1b_2x_xeon_e5_2696_v4_37sec_624ms[/url] [*][url]http://hwbot.org/submission/3207722_mysticial_y_cruncher_pi_10b_2x_xeon_e5_2696_v4_7min_23sec_945ms/[/url] [/LIST]

Spain Ximi says:

Hello , On Win 7 , R5E , 5960X , show launcher Error on create data file , unable to create ... what happens ?? How can i solved it ? Thanks !! PD : On Win 7 , 2600k , not problem.

United States Mysticial says:

Ximi said: Hello ,

On Win 7 , R5E , 5960X , show launcher Error on create data file , unable to create ... what happens ??

How can i solved it ?

Thanks !!

PD : On Win 7 , 2600k , not problem.


Just to make sure I know which error message you're getting. The exact text reads, "Unable to create datefile." right?

Do you see a file named, "datafile.hwbot" in the path where you are running the app? This error message will show up if the submitter app is unable to write to the directory that it's running from.

Spain Ximi says:

Mysticial said: Just to make sure I know which error message you're getting. The exact text reads, "Unable to create datefile." right? Do you see a file named, "datafile.hwbot" in the path where you are running the app? This error message will show up if the submitter app is unable to write to the directory that it's running from.
Yes , the data file is missing .... I download the benchmark and unrar file at HDD USB after I copied the directory to another PC on R5E and 5960k. Posible is blocked from permissions ? How can I solved it ? The JAVA version its for x64 but not the last 9.JRE its 8.JRE.

United States Mysticial says:

Ximi said: Yes , the data file is missing ....

I download the benchmark and unrar file at HDD USB after I copied the directory to another PC on R5E and 5960k.

Posible is blocked from permissions ? How can I solved it ?

The JAVA version its for x64 but not the last 9.JRE its 8.JRE.


While I'm not 100% sure this is the case, I do agree that it sounds like the submitter can't write to disk at all. Where did you put the y-cruncher folder? If you copied directly into "c:/" there's a chance that it won't have permissions to write there.

Try copying it somewhere else on that system. If the problem persists, then I'll have to push out a new version with some additional logging to pinpoint the error.

Spain Ximi says:

Mysticial said: While I'm not 100% sure this is the case, I do agree that it sounds like the submitter can't write to disk at all. Where did you put the y-cruncher folder? If you copied directly into "c:/" there's a chance that it won't have permissions to write there. Try copying it somewhere else on that system. If the problem persists, then I'll have to push out a new version with some additional logging to pinpoint the error.
Solved , copied at C:\ , and dismark only read at directory.

United States Mysticial says:

Ximi said: Solved , copied at C:\ , and dismark only read at directory.


Excellent. I'll make the error-message more specific for the next version. You probably won't be the last one to hit this.

It just occurred to me that not being able to write to disk will also prevent the submitter from running y-cruncher at all since it uses scripts.

Spain Ximi says:

Mysticial said: Excellent. I'll make the error-message more specific for the next version. You probably won't be the last one to hit this. It just occurred to me that not being able to write to disk will also prevent the submitter from running y-cruncher at all since it uses scripts.
Thanks for support , is a good one benchmark .... ;)

United States Mysticial says:

The beta competition has been winding down for the past couple weeks and it officially ends in two days. So I thought I'd shed some light on what's potentially coming next. y-cruncher v0.7.1 has been in feature freeze for the past 3 weeks and I've started handing out a release candidate to a handful of people. In other words, it's almost ready. If any staff members are interested, PM me or shoot me an email. The new version has a bunch of changes. The ones that are relevant to HWBOT are: [LIST=1] [*]Admin is no longer required to run. But turning it on anyway may give a small speedup. Admin is still required for swap mode. [*]Detection of the operating system. [*]Detection of more hardware components. (HT, # of sockets, motherboard, memory) [*]Detection of the reference clock. Version 0.7.1 will now recognize the TSC, HPET, and ACPI reference clocks. The submitter will refuse to submit benchmarks that are run Windows 8 or later if the reference clock is not HPET or ACPI. [*]Performance improvements for most processors. And a new binary aimed at Broadwell and Skylake desktop chips. [/LIST] This version adds a lot of environment detection mostly for validation and to streamline the submission process. At the very least, the motherboard and # of processors will now auto-fill themselves (if HWBOT recognizes it). On Windows, it will also detect the individual memory modules, but HWBOT currently doesn't take this information. (I couldn't figure out how to do this on Linux.) OS and reference clock detection is obviously for validation and to lift the Windows 8 and later restriction. However, I found out today that this might not be 100% reliable. Apparently my laptop's platform clock is neither HPET nor ACPI. y-cruncher doesn't recognize it and the submitter blocks me from submitting anything run on my laptop. After a bunch of Googling I still couldn't figure out what the hell it is. In any case, this is something that can probably be fixed on the submitter side. So I'm fine with rolling out y-cruncher as is. Last are the performance improvements. They aren't massive speedups. (Mostly around the 1 - 5% range.) Last time I checked, Sandy/Ivy Bridge with AVX had the biggest improvement. But still nowhere near enough to be competitive with Haswell/AVX2. Those with Broadwell and Skylake will be able to run the new "x64 ADX ~ Kurumi" binary that utilizes the ADX instruction set. Unfortunately, this means that v0.7.1 will not be speed consistent with v0.6.9 and older versions. So if y-cruncher is here to stay on HWBOT, this is something we'll have to live with since y-cruncher probably continue to get incrementally faster with major release. With respect to that, I have AVX512 binaries lined up and good to go. So expect a potentially "unfair" advantage for Skylake-EP and Cannonlake whenever I can get my hands on them. (Knights Landing also has AVX512, but that's still uncertain since the architecture is so drastically different.) ---------------- In any case, there are some open questions: There's a new version of the submitter that will be released simultaneously with y-cruncher v0.7.1. Right now, that submitter is set to block all v0.7.1 submissions on Windows 8 or later if they aren't using HPET or ACPI. Should I extend this to block earlier versions of y-cruncher that cannot detect the clock? This means that the current version of y-cruncher will no longer be usable for HWBOT. What about Linux? I have no idea how easy it is to tamper with the clocks in Linux. (I've never tried.) But it's certainly possible since Linux is open-sourced. So a capable kernel hacker can modify it in a way to trick y-cruncher's timings. When should I actually release v0.7.1? Should I do it immediately after the competition ends? Or should I wait around a bit. (I'm not sure what usually follows a beta competition.)

Czech Republic havli says:

Will the new version support saving data file (for later manual submission via hwbot site) like some other hwbot-integrated benchmarks?

United States Mysticial says:

havli said: Will the new version support saving data file (for later manual submission via hwbot site) like some other hwbot-integrated benchmarks?


No, but you can (almost) already do that by saving the validation file. I can't allow manual submissions until I have a mechanism to block submissions into the wrong category. (i.e. submitting a 25m into the 1b.)

Matsglobetrotter says:

Hi, I keep getting this error on my Asus X99e-WS with my 5960X anyone know what it relates to?


Modular Redundancy Check Failed

Exception Encountered: generic Exception
Error Code: 2



Regards,

United States Mysticial says:

Matsglobetrotter said: Hi, I keep getting this error on my Asus X99e-WS with my 5960X anyone know what it relates to?


Modular Redundancy Check Failed

Exception Encountered: generic Exception
Error Code: 2



Regards,


Are you AVX-stable? Can you run Prime95 Small FFTs (version 28.x) for any amount of time?

Matsglobetrotter says:

Mysticial said: Are you AVX-stable? Can you run Prime95 Small FFTs (version 28.x) for any amount of time?


Hi Mysticial,

Well I could not at the 4.75 Ghz I was on right now but on standard bios setup non turbo clocked anything the Prime 95 will run smooth it uses about 87% of the CPU usage . But there is exactly the same error on Y-cruncher. For some reason I can neither run GPUPI CPU mode. Meanwhile Geekbench will run as a charm with up to 99% CPU usage.

Regards,

Matsglobetrotter

United States Mysticial says:

[QUOTE=Matsglobetrotter;446426]Hi Mysticial, Well I could not at the 4.75 Ghz I was on right now but on standard bios setup non turbo clocked anything the Prime 95 will run smooth it uses about 87% of the CPU usage . But there is exactly the same error on Y-cruncher. For some reason I can neither run GPUPI CPU mode. Meanwhile Geekbench will run as a charm with up to 99% CPU usage. Regards, Matsglobetrotter[/QUOTE] Just to clarify that I'm understanding your response correctly: [LIST] [*]At 4.75 GHz, neither y-cruncher nor Prime95 will run. [*]At stock, Prime95 will run, but only at 87% CPU usage. Neither GPUPi nor y-cruncher will run. [*]Geekbench runs with no problems with 99% CPU usage. [/LIST] If this is the case, then I have no clue. It sounds like something is very wrong with the system. Stuff not working at 4.75 GHz is reasonable. A lot of Haswell-e overclocks at 4.75 GHz are not AVX-stable and will instantly fail on anything that uses AVX (such as y-cruncher or Prime95 28.x). But if things are failing at stock, then something is messed up. The 87% CPU usage thing is usually an indication that you have background programs running.

Matsglobetrotter says:

[QUOTE=Mysticial;446430]Just to clarify that I'm understanding your response correctly: [LIST] [*]At 4.75 GHz, neither y-cruncher nor Prime95 will run. [*]At stock, Prime95 will run, but only at 87% CPU usage. Neither GPUPi nor y-cruncher will run. [*]Geekbench runs with no problems with 99% CPU usage. [/LIST] If this is the case, then I have no clue. It sounds like something is very wrong with the system. Stuff not working at 4.75 GHz is reasonable. A lot of Haswell-e overclocks at 4.75 GHz are not AVX-stable and will instantly fail on anything that uses AVX (such as y-cruncher or Prime95 28.x). But if things are failing at stock, then something is messed up. The 87% CPU usage thing is usually an indication that you have background programs running.[/QUOTE] All correctly understood. Yes on the 87% i had not necessarily closed down everything just checking that it would be stable. Even had realtemp on just to see if there was unusual heatpatterns but looks normal. Anyway too bad, have given up on those Benchmarks on this setup.

South Africa Oj0 says:

I'm struggling with 25M scaling with scaling to 24 threads getting sub 39.85 % multi-core efficiency; with 1B it's better but I'm still only getting 75.56 %. Is there something more to it?

United States Mysticial says:

Oj0 said: I'm struggling with 25M scaling with scaling to 24 threads getting sub 39.85 % multi-core efficiency; with 1B it's better but I'm still only getting 75.56 %. Is there something more to it?


Not really. The 25M is so small that the amount of overhead needed to manage that many threads is significant compared to the amount of computation itself.

In other words, you're not benchmarking how fast you can compute Pi, you're benchmarking how quickly you can create and synchronize threads. Some OS'es do better than others - namely Win8 and Win10 are better at this than Win7 or Linux.

South Africa Oj0 says:

Mysticial said: Not really. The 25M is so small that the amount of overhead needed to manage that many threads is significant compared to the amount of computation itself.

In other words, you're not benchmarking how fast you can compute Pi, you're benchmarking how quickly you can create and synchronize threads. Some OS'es do better than others - namely Win8 and Win10 are better at this than Win7 or Linux.


Thank you for pointing me in the right direction, I had at some high thread-count scores and I see that Windows 10 sits at around 60+ % efficiency while Windows 7 is generally a touch under 40 %,

Czech Republic havli says:

I was trying to get my first score... but it wasn't as easy as I thought. All I get is this error message after pressing the submit button. Other HWBOT-integrated benchmarks works fine on this PC, so internet connection is not the issue.

[img]https://abload.de/thumb/y-cruncher-error4as50.png[/img]

United States Mysticial says:

havli said: I was trying to get my first score... but it wasn't as easy as I thought. All I get is this error message after pressing the submit button. Other HWBOT-integrated benchmarks works fine on this PC, so internet connection is not the issue.

[img]https://abload.de/thumb/y-cruncher-error4as50.png[/img]


I didn't actually see this until Massman sent me an email. I thought I get email updates to my own threads...

Anyways. What happened was that the benchmark got renamed when it was promoted out of beta. The when program tries to submit using the old name, the server rejects it.

I just pushed out a quick update to fix this issue. But it looks like there's more work to be done on my side of things.

Belgium Massman says:

havli said: I was trying to get my first score... but it wasn't as easy as I thought. All I get is this error message after pressing the submit button. Other HWBOT-integrated benchmarks works fine on this PC, so internet connection is not the issue.

[img]https://abload.de/thumb/y-cruncher-error4as50.png[/img]


Mysticial said: I didn't actually see this until Massman sent me an email. I thought I get email updates to my own threads...

Anyways. What happened was that the benchmark got renamed when it was promoted out of beta. The when program tries to submit using the old name, the server rejects it.

I just pushed out a quick update to fix this issue. But it looks like there's more work to be done on my side of things.


You both have mail.

I'm trying to set up a redirect for legacy url support

Czech Republic havli says:

Mysticial said: I didn't actually see this until Massman sent me an email. I thought I get email updates to my own threads...

Anyways. What happened was that the benchmark got renamed when it was promoted out of beta. The when program tries to submit using the old name, the server rejects it.

I just pushed out a quick update to fix this issue. But it looks like there's more work to be done on my side of things.


Thank you, it is working now. :)

United States Mysticial says:

I'd like to bring back the topic of HPET platform timers and open up a discussion about virtual machines (VMs).

y-cruncher submissions to HWBOT currently require either HPET or ACPI for Windows 8 and 10. But I've come to realize that there are other platform clocks out there. When you use bcdedit to force on the platform clock, you're not guaranteed to get either HPET or ACPI.

My very own laptop seems to use an unknown platform clock which I've been unable to identify. Since neither y-cruncher nor the HWBOT submitter is aware of this clock, it blocks me from submitting benchmarks from my laptop.

The broad problem is that only the TSC clock is affected by the clock skew on Windows 8+10. Does anyone mind if I change clock enforcement to blacklist TSC rather than whitelist HPET and ACPI? This should allow all other platform clocks.

The downside of this is that it also allows VM clocks. Some of the Linux benchmarks that I've gotten from people use the "xen" VM clock. But that seems to be mostly a Linux thing. VMs in general are difficult to tackle since they (by design) attempt to trick the software into thinking it's running natively. So everything from clocks to instructions can (theoretically) be faked. y-cruncher v0.7.1 will attempt to detect if it's in a VM. But it currently doesn't block VM benchmarks because:
[LIST=1]
The VM detection is not 100% reliable since VMs intentionally make themselves difficult to detect.
[/LIST]

Speaking of Linux, the submitter currently does not block any Linux submissions regardless of the reference clock. So you are (technically) allowed to run benchmarks in Linux, take a screenshot there, then transfer the files to Windows and submit to HWBOT. But given that there's no CPUz for Linux, this probably won't work for the majority of the competitions.

Austria _mat_ says:

Mysticial said: The broad problem is that only the TSC clock is affected by the clock skew on Windows 8+10. Does anyone mind if I change clock enforcement to blacklist TSC rather than whitelist HPET and ACPI? This should allow all other platform clocks.
I've researched this topic for some days back when I was developing GPUPI and in my opinion the only manageable option for me was to ban TSC from 8 and 10 and only allow HPET there. Using ACPI as a timer if available is possible but depends on how it's done. I would not advise to use Windows' QPC functions for example.

United States Mysticial says:

_mat_ said: I've researched this topic for some days back when I was developing GPUPI and in my opinion the only available option is to ban TSC from 8 and 10 and only allow HPET there. Using ACPI as a timer if available is possible but depends on how it's done. I would not advise to use Windows' QPC functions for example.


ACPI + QPC is vulnerable to clock skew? I admit that I have no way to test this since the only box I have that lets me disable HPET (to force ACPI) is my AMD box - which isn't affected IIRC.

y-cruncher uses more than just QPC. So even if QPC gets skewed, it theoretically should still be okay. I can PM you the details if you're interested. Either way, I have no way to test this.

Austria _mat_ says:

QPC falls back in various ways depending on the hardware and OS version, it can be HPET, ACPI or even RTC. The timer resolution of QPC differs greatly as well so it's difficult to find out which timing method is currently in use.

United States Mysticial says:

_mat_ said: QPC falls back in various ways depending on the hardware and OS version, it can be HPET, ACPI or even RTC. The timer resolution of QPC differs greatly as well so it's difficult to find out which timing method is currently in use. That's why I decided to avoid QPC, it's too unreliable for benchmark measurements. Read around the web, software like VirtualDub banned it as well.


I think we might be talking past each other. I'm fully aware that QPC varies depending on the clock. That's sorta the whole point of this discussion. It's easy (for me at least) to determine whether QPC is backed by HPET, ACPI, TSC, or none of those. But you implied in your previous post that QPC is vulnerable to skew when backed by ACPI.

Austria _mat_ says:

Oops, I meant that I am avoiding QPC when HPET is not enabled. Sorry, I have currently a lot on my plate. I can't remember if it's precisely ACPI that's vulnerable, but on Windows 7 - which is not affected by the RTC bug - QPC gets skewed if HPET is disabled. My best guess is, that it falls back to ACPI, otherwise the fallback to RTC would not produce skewed results. See my results here: https://www.overclockers.at/articles/gpupi-2-1 ... I should have displayed the timer frequencies as well, hrmpf.

Please log in or register to comment.

Leave a Reply: (BBCODE allowed: [B], [QUOTE], [I], [URL], [IMG],...)