Jump to content

TheAmazingDanny

Member
  • Posts

    10
  • Joined

  • Last visited

Awards

This user doesn't have any awards

Recent Profile Visitors

The recent visitors block is disabled and is not being shown to other users.

TheAmazingDanny's Achievements

  1. My code is more like: private void beginTime() { DateTime endTime = DateTime.UtcNow.AddSeconds((double) ExpManager.sharedInstance.endCondition.seconds); while (DateTime.UtcNow.CompareTo(endTime) <= 0) { storeResult(diceRoll()); } } Where diceRoll() generates the random number, and storeResult() increments the counter associated with that roll. I'm not sure if the ALUs have anything to do with threading in this example, but, on my R3 1300X, it uses four threads. If there's more than one ALU per logical thread, then I'm going about this wrong. However, if there's just one ALU per thread, and I'm running this on each thread, then it's hitting all of the ALUs in the processor.
  2. I think I answered this in a previous comment; I was using System.Random before another comment mentioned to XORShift, and I went with that since it's much faster. You are correct - if time is a number, usually, it's the amount of milliseconds since January 1, 1970, 12:00:00 AM. Mouse position could be an interesting way to seed it! I swapped mine out for XORShift. See this page for more information on that implementation: http://heliosphan.org/fastrandom.html Yep! It's more meant to be "sort of" random, but it can't possibly be truly random. See https://www.random.org/ for more information on that.
  3. It does simulate flipping an N-sided coin. I'm using an end condition where, rather than doing a set amount of flips, it keeps "flipping" a coin until one minute has passed from the start of the experiment. Prime95 does do actual calculation with those values, and I'll give it that, however, this workload could stress an ALU.
  4. ...Prime95 is a program meant to find Mersennes primes (that is, a program made to find prime numbers that take the form 2n - 1). See their product page about it. It's not a "Hardcore head virus" as you say; rather; it does have a goal. It runs a cpu busy workload; that is, something that takes the form of: while (some condition that will take a while to compute) { // perform an intensive task } In this case, I use: DateTime endTime = DateTime.UtcNow.AddSeconds((double) ExpManager.sharedInstance.endCondition.seconds); while (DateTime.UtcNow.CompareTo(endTime) <= 0) { storeResult(diceRoll()); } So, while that amount of time didn't pass, the CPU will keep looping back to the beginning instruction. I will add that this is being run on each thread of the CPU, making this a suitable "heat virus" from your definition. The group recently found that, thanks to the help of more modern CPUs and people leaving this sort of thing running, 277,232,917 - 1 is a prime number, and that all exponents below 78 million have been tested at least once. That does give the CPU some number crunching work, but this has other usefulness for those wanting to run a simulation of millions of coin flips, or any experiment, really, with a variable amount of outcomes.
  5. While a probability simulator is simpler in execution and depends more on the ALU, it also does shine in the fact that it shows how well that performance can be kept. Say, you have a laptop that thermal throttles - that'll cause a higher standard deviation since there will be an outlier with many less reps/second, no? Put it this way. I run a test for 12 hours. (That's what I was doing while I wasn't responding; I ran 12 hours of that simulation.) Using my aforementioned bench and the swap on the RNG algorithm, my Ryzen 3 1300X, now OC'd to 3.7 GHz, can strike 78.5 million reps/second, with a standard deviation of around 500,000. What does that show? It shows a more of a "what you can expect" for performance, as it's a mean of all trials, and standard deviation shows fluctuation. It shows that, using a bell curve, it can do 78.5 million reps/sec +- 500k, roughly 68% of the time. It's more of why we switched to 1% and .1% lows rather than lowest value; standard deviation shows how well it can keep that value. I may modify this program to include max/min of the trials as well.
  6. Update: I swapped my implementation to the one shown at https://www.programmingalgorithms.com/algorithm/xor-shift?lang=C%23 and I'm running benchmarks now. I did change the implementation to use the current date and time as a seed with each trial. Thank you for showing me this!
  7. It benchmarks how many "coin flips" can be done in a second. Cinebench benchmarks, to my understanding, how fast it can render a huge image with the CPU... how is this any different? I'll have to check out XOR Shift eventually, but this is the start of something great. Also, to answer your point about hyper-threading? My Ryzen 3 1300X doesn't support hyper-threading like an i3 pre-Coffee Lake would be 2C/4T. Ryzen 3 is 4C/4T like an old i5 was. The Ryzen 5 is 4C/8T.
  8. I'm sort of "benchmarking" by simulating how many repetitions can be done per second, and calculating standard deviation over many trials to see how well it can keep that performance.
  9. So, I want to post this here because I know Linus likes to review different CPUs and systems for productivity. I'm making a tool that will allow a computer to simulate probability by using C#'s built-in RNG to simulate many trials of many experiments with a varying number of outcomes (default is 2, to simulate a "coin flip"). Experiments have end conditions, and the ones my program allow for are for an amount of time in seconds, an amount of repetitions, or a pattern to be hit. This tool can export to CSV, an HTML document (still in the works), and LaTeX. I'm using it for a final in my statistics class, but an average amount of repetitions per second can be gathered from the output LaTeX document (with standard deviation), and, last night, I did thirty trials of running the program for 60 seconds, giving an end result of around 60 million repetitions per second on my Ryzen 3 1300X (at the stock frequency of 3.5 GHz, I can't afford a better cooler). I'm looking for a way to contact the Linus Media Group and see if they would be interested in using this in the future. Not all benchmark output can be compiled into a PDF! Attached is the PDF of the run of it I did last night and a screenshot of the title page. Results.pdf
  10. Do you have an older Intel laptop and think you need an upgrade? I have some information for you. Intel's laptops that don't exhibit "ultra-low TDP" - that is, the "Core iX-XXXX(X)M" laptops, some older Pentiums, and some older Celerons, can actually be upgraded really cheaply. I just didn't know where else to post this and felt like those who want a legitimate tech tip who are also experienced with computers might want to know this. A lot of Intel's mobile CPU lineup since their first generation "Core i" products have PGA CPU chips. That means, by opening up an old laptop, you can turn a screw, take out the CPU, and put a new one in that is that same generation into that socket, and turn the screw back around. There's triangles to line them up. Using CPU-World's site listing of what CPU's go into the same socket, I can gather this bit of information for you. ALL of the CPU's below are rated for 35 W TDP. Socket G1, rPGA988A (source: http://www.cpu-world.com/Sockets/Socket G1 (rPGA988A).html): You can swap out your CPU for a Mobile Celeron P4X00 series, Pentium P6X00 series, i3-3X0M series, i5-4X0M, i5-5X0M, i7-6X0M. Socket G2, rPGA988B (source: http://www.cpu-world.com/Sockets/Socket G2 (rPGA988B).html): You can swap out your Sandy Bridge CPU for a Celeron B7X0M series, Celeron B8X0M, Celeron 100XM, Celeron 1020M, Celeron 1020E, Pentium B9X0 series, Mobile Pentium A1018, Pentium 20X0M series, i3-23XX(M/E) series, i5-2XXX(M/E) series, i7-2620M, or i7-2640M. If you have Ivy Bridge, you can swap that for an i3-31XXM(E) series chip, i5-32X0M series or i5-33X0M series, i7-35X0M series, or you can enjoy your effective eight core i7-3612QM or i7-3632QM CPU. Socket G3 has many CPU's rated for 37 W (not 35W) of TDP and is rPGA946B (source: http://www.cpu-world.com/Sockets/Socket_G3.html): You can swap those for a Celeron 2950M/2970M, i3-4XX0M, i5-4XX0M, an i7-46X0M, or you can enjoy effective 8 core performance on the i7-4702QM and i7-4712QM CPU's. I haven't tested every generation out, but I did buy a Dell Inspiron 3520 with a Celeron B820 and 4 GB RAM and I upgraded to an i7-2640M and 12 GB RAM and my config runs great. There is a little bit of thermal throttling when there are more demanding tasks thrown at it, but it's a lot snappier and I stumbled upon these and thought I should post about it here.
×