Jump to content

TheGhastModding

Member
  • Posts

    18
  • 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.

TheGhastModding's Achievements

  1. 8GB more RAM for my old HP DL380 G5 Server that I'm trying to turn into a compute node. It now has a total of 20GB.
  2. So back when I was preparing to build my current PC/Workstation/Server, I used PC part picker in order to plan out my build, like most people would do. However, during this time, they accidentally listed the CoolerMaster Hyper 212 Evo as being compatible with my Supermicro X10SRL-F motherboard, which uses a LGA2011-3 narrow CPU socket. Long story short, it is not, which explains why it took me 3 hours to figure out how to install it. Luckily, it is possible to do so while only having to apply light force on the bottom-right screw (the other three fit fine), and so far, I've had no issues with the cooler itself. However, it would probably still be for the best if I installed a cooler that was actually built for this socket. But whenever I search for a LGA2011-3 narrow cooler, what I find is either really expensive or just a heatsink for use in rackmount servers. Basically, I need help finding a good LGA2011-3 narrow cooler that doesn't cost much more then a Hyper 212 Evo.
  3. The latest thing I purchased was a box of 12 old, dead NVIDIA graphics cards that I'll try to fix up just for fun (they were only $25). Though those will not get here for a while (pic from ebay listing). So the last thing I bought that I actually have here is a (sold as) broken PowerColor R9 280X ($20) that I also got working again and that's now inside my deep learning rig.
  4. I have the following Problem. I'm trying to build myself some c++ source code from a repository. Problem is, I've been programming in Java all my life, so I have no Idea how to fix this error I keep getting. Now I was able to successfully compile the code on Ubuntu, but am failing to do so on Windows. I'm using cmake and tried both the visual studio 2017 compilers and mingw's gcc compiler. But every single time I try to configure the project, I get an error involving the boost libraries. I have them downloaded and I did link to the correct directory (I tried many different boost versions, but I always get the same result). Here's the error: Please help me. It's been two weeks and I'm not a step closer to solving this and I really need to get this done at some point.
  5. Here's a few solutions you can try. Try completely removing the GPU and THEN try the graphics port on the motherboard Leave the PC on for a while. If nothing happens still after 5 minutes, then the issue is probably not in the board taking a while to post on its first run.
  6. I allways try to keep my taskbar as clean as possible (only two of these are pinned) (You could literally drive me insane by opening/pinning more then 6 apps)
  7. (Long post incomming) Backstory (You can skip this except for the last paragraph tbh) About 6 years ago, I was given the most amazing gift in my life by my parents: my own computer! It was a HP laptop from 2008-ish that was already considered old at the time. It had an AMD Turion 64 X2 TL-60 dual-core CPU with an amazing 1GB of RAM. The 80GB HDD was really slow to, especially after it got filled up with MIDIs and REALLY bad Pokémon ROM hacks (I was a weird kid lol). It was on this computer that I discovered the joys of programming. In assembler. With an Attiny13 Microcontroller. I may or may not have copy-pasted code from the Internet. Fast-forward one or two years and the HP laptop violently self-destructed when I attempted to plug in a second monitor (There were sparks when the VGA cable made contact and the Laptop didn't boot no more). So I got a new laptop. I can't remember the specs except that it had a very early mobile i3, but I was good enough to run Minecraft (Have you ever tried playing Minecraft with the arrow keys for movement, z for breaking blocks, x for placing them and the horrible trackpad on a laptop?). When I first played the game, I spawned, randomly broke off a piece of wood from a tree, ran into a cave and got exploded by a Creeper. But back then I was thinking: "OMG! This amazing!" and, because I'm a very curious person, "I wonder how this was programmed?". And from that day on I started learning Java, but nothing really life-changing happened, except that I got two new laptops along the way (one used with a 4th gen mobile i7, 8GB DDR3, one gaming laptop with a i7-6700HQ, 16GB DDR4). Ever since then I created a bunch of amazing projects, like a software for clustering multiple computers into sharing their processing power for one task, but sadly, none of them never went anywhere. Until about a year ago! That's when I found out about this thing called "Artificial neural networks" (or "Deep learning"). And things went downhill from there, because I imidiately though "I need to do something with this!". So for about a year I dedicated all of my resources towards coding my own neural network library with implementations for many network- and learning types and doing research using said library. It all went well before a couple months back, my Laptop could no longer handle it. The OS freezing because of high GPU usage or because it ran out of memory became an everyday ocourance. So I decided it was time....for the most epic PC built I've ever seen anyone do (except for Linus' quad-titan PC. Nothing will EVER beat that for the next 5 - 10 years.) Parts I think this was the most difficult part of this entire build. It took me weeks to tweak the part list, but with the help of a few people, I managed to get what I think is the best PC I could've gotten for my 1300€ budget. Motherboard This is a choice I made very early on. I wanted a professional server motherboard that can handle a lot of RAM and some of that Xeon-goodness. I had very specific demands for this system, and no consumer motherboard I found could meet them. At least not on the budget. My choice? The Supermicro X10SRL-F. CPU Easy choice. Xeon E5-1620 V4. 4C/8T at 3.5GHz base and 3.7GHz boost. Pretty much the equivalent of an i7-6700K. The best CPU I could find that wasn't overly expensive or had a really low clock speed (I need good single-core performance), though there were multiple better CPUs that I could've used, but that were to expensive. Am considering them for future updates, though. RAM Here is where it got interesting for me. You see, the entire Artificial neural networks thing takes a lot, and I mean A LOT of RAM. This also influenced my choice of motherboard. The Supermicro board has 8 RAM slots, and since LRDIMMs come in capacities of up to 128GB per stick(!), the maximum amount of RAM this motherboard can hold is 1024GB or 1TB. Buuut that is totally out of my price range. I really only took it for the amount of slots. I ended of getting a single stick of 32GB Registered ECC DDR4. If I manage to fill up all 8 slots with similar sticks during future upgrades, I could get up to 256GB of RAM. GPUs GPUs. Plural intended. The system has two seperate GPUs. Since a lot of the algorithms used by Deep learning can be accelerated by GPU-computing them AND I had an upcoming project that required me to run said algorithms on the GPU while also having to render a game environment, the obvious solution was getting two GPUs. I already had a Sapphire Vapor-X R9 280X Tri-OC for compute (I was told that the R9 280X is the best consumer/gaming card when it comes to compute with 64-bit floats), so I got a RX560 for the rendering GPU. I know it's not a good card, but I just needed something that could run Minecraft at 60FPS for less then 100€. Storage Cheaped out on storage. Got a bunch of laptop drives. Getting a full 3.5'' HDD is currently the highest priority for the next upgrade. PSU Corsair CXM 750W 80+. I punched "good modular 750W PSU" into google. Case I actually forgot the model. I only know that it's from fractal design. Maybe someone can tell the model from the pictures. When I got this I though "Just because it's a professional computer and a Server, doesn't mean it can't look COOL, right?". I wanted to go with a blue-black design, but more on that later. Sound Server motherboard = no integrated soundchip. Got a USB headset. OS Windows 10 Pro The Build After waiting forever for the parts to arrive, I finally had the huge box with everything in it standing in my room. My brother came over to help me. The adventure starts here. Installing the CPU was easy. I was extremely worried at the time about bent pins on the socket or somehow messing things up otherwise, but CPU installation was still very quick and easy. Then came the CoolerMaster 212 Evo cooler. Lemme just say that the manual that comes with it absolutely sucks. My brother and me took like an hour of trying to figure out how to install the thing, but in the end a YouTube video was able to show us how it's done. From there on out, it seemed like smooth sail. everything fit in the case perfectly, wiring was a bit messy, but when we powered it on, it all worked....except after a minute the motherboard still didn't post or output anything to the monitor. So I decided to try the mobo's integrated video adapter instead of the GPU. But I decided to not remove the GPU before doing so.........(everyone facepalmed yet? yes? good.). So after that didn't work, I took everything out and tried the motherboard outside the case, using the box it came in as a testbench, like you usually do. It took me a few more attempts before I realized what I was doing and removed the GPU. And finally got a logo and BIOS codes on the screen. Turns out that the Supermicro board has this unusual property that when AC power is restored after the computer lost power unexpectedly (or when you first boot it up), it takes two minutes to post. And it only starts using off-board video adapters after post. So everything actually worked fine the first time, I just didn't wait long enough. Oops. After that I put everything back in the case, powered it on, plugged in a USB memory stick with the windows installed on it aaaaaaaaand the windows installer refused to boot. Luckily I had the hunch that some BIOS settings were the issue. Which was correct. So just 5 minutes later, I was installing windows. All I had to do after that was done was install the second GPU (which went smoothly) and it was finally, finally finished. Wiring was still messy, and none of the sidepanels of the case were on, but I didn't care. I was tired and decided to call it a day and just get to installing things in windows and running benchmarks. I did the entire wire management thing the next day without any issues. Results Though I was warned of driver issues, both GPUs are fully compatible with the same driver version and functioned normally. Results for gaming benchmarks were average (to be expected), but running custom benchmarks on the R9 280X to test its compute capabilities were absolutely crushed. I never had such a good experience with using a computer then with this. Even though I used a HDD as a boot drive, the storage controller's internal buffer caused the entire system to boot very quickly. Additionally, dumping gigabytes of data from memory to disk has never been so fast! And when I render the occasional video on this PC, the speed at which it does so is acceptable as well (I installed a 16GB SSD in the system just as a buffer for rendering videos to). But visualy, it wasn't very nice. When I bought the case, I assumed the two front fans were some generic fans with no LEDs in them, and I could replace just the top one with a blue LED fan to match the blue fan on the back. Aaaand I was wrong. The fans have white LEDs. Color's all messed up now. Wire management.....I did my best, but eventually I gave up with some of these wires. Just take a look. (Yes, I wanted to cover up those green LEDs eventually) Pictures Conclusion and TL;DR Was building the PC myself worth it? Yes. Definitely. I know that it isn't perfect, but that's what I like about that. Instead of having something clean, that looks like it came out of a factory, I have something that you can tell just by looking at it was made by a real person. It was also totally worth the experience. And the money I saved for not using a service that puts everything together for you. And finally, ever since I got this build, I've also been able to advance my research by a lot. Things are finally moving forward again. And with that I will finally end this post because I've spent 90 minutes writing this, still need to do a basic grammar check and eat dinner. Bye. (TL;DR: I got a new super-OP PC build with an RX560, R9 280X, Xeon 1620 v4, 32GB of RAM and it's super fast but doesn't exactly look very nice.)
  8. I don't even know where to start, so imma just list a whole bunch of stupid things I did - Buying a 10 year old Server off of ebay only because it was cheap - Buying a cheap windows pro key off of ebay - Buying a GPU (R7 240) for the Server - Buying a new GPU for the Server (R9 280X) - Buying a cheap PSU to power the new GPU (the Server's PSU had no additional power connectors at all) - Blowing up the Server a couple months later (curiously the cheap PSU didn't self-destruct after two months of continuous operation) by trying to install a fan - Fixing the Server - A bunch of other things involving the Server - buying a gaming laptop - trying to power up a really old HP laptop that had a broken chip in it that literally went up in flames after I plugged in the charger - I can't think of anything else right now
  9. The reason you're having difficulties is because laptops are not MEANT to be upgraded, safe for maybe the RAM on some models, but still. The GPU is literally soldered onto the board. I had exactly the same problem as you just a few weeks ago, and my only suggestion is to do what I did and sell the Laptop on ebay (I backed up all my files on my Server, but you can just use another laptop or an external USB HDD) and then use the money you get from that plus some extra (seeing that you're trying to add a GPU to your laptop and buy an expensive dock for it, I'd say you have enough) to buy a full PC. Use the money you were going to spend on the GPU and dock to buy a GPU and Monitor and the money you get from selling your laptop to buy the rest of the system.
  10. I tried running Superposition on my soon-to-be-replaced deep-learning machine. I probably did terribly. Two Intel Xeon X5260 CPUs @ 3.33GHz Vapor-X R9 280X @ 1100/1500MHz 12GB FB-DIMM DDR2 (Will probably submit results for my "gaming" Laptop later on)
  11. My R9 280X, a WIFI adapter and a RAID controller (the motherboard has builtin gigabit ethernet that uses PCIe, so I guess that kindof counts?)
  12. Now this story didn't happen to me, but my brother. Basically the easiest way to prank the computer sciences teacher in his school is it, to flip the switch on the PSU in the back of his computer to the off position or simply unplug the computer and watch as the teacher struggles for at least 15 minutes, trying to find out why his computer doesn't turn on.
  13. I made an entire Neural Network in just 75 lines....ok, maybe not a network, but it does train a single sigmoid neuron. package theGhastModding.oneHundred.main; import java.nio.file.Files; import java.nio.file.Paths; import java.util.List; import java.util.Random; public class SigmoidNeuron { public static void main(String[] args){ try { List<String> lines = Files.readAllLines(Paths.get(args[0])); double[][] inSequence = new double[lines.size()][]; for(int i = 0; i < inSequence.length; i++){ String[] a = lines.get(i).split("#"); inSequence[i] = new double[a.length]; for(int j = 0; j < a.length; j++) inSequence[i][j] = Double.parseDouble(a[j]); } String[] expectedStrings = Files.readAllLines(Paths.get(args[1])).get(0).split("#"); double[] expectedSequence = new double[expectedStrings.length]; for(int i = 0; i < expectedSequence.length; i++) expectedSequence[i] = Double.parseDouble(expectedStrings[i]); int iterations = Integer.parseInt(args[2]); double trainingRate = Double.parseDouble(args[3]); double[] weights = new double[inSequence[0].length]; double bias = 1; double loss = loss(expectedSequence, pass(inSequence, bias, weights)); double[] prevWeights = copy(weights); Random random = new Random(); for(int i = 0; i < iterations; i++){ if(i % (iterations / 100 * 10) == 0) System.out.println("Iteration: " + Integer.toString(i) + "/" + Integer.toString(iterations)); for(int j = 0; j < weights.length; j++) if(random.nextBoolean()) weights[j] += (random.nextDouble() - 0.5d) * trainingRate; if(random.nextBoolean()) bias += (random.nextDouble() - 0.5d) * trainingRate; double newLoss = loss(expectedSequence, pass(inSequence, bias, weights)); if(newLoss < loss){ prevWeights = copy(weights); loss = newLoss; }else{ weights = copy(prevWeights); } } System.out.println("Done.\nGenerating outputs..."); double[] outputs = pass(inSequence, bias, weights); for(int i = 0; i < outputs.length; i++)System.out.println(Double.toString(outputs[i]) + ","); System.out.println(); } catch(Exception e) {e.printStackTrace();} } private static double loss(double[] expected, double[] output){ double tmse = 0; for(int i = 0; i < expected.length; i++){ tmse += Math.pow(expected[i] - output[i], 2D); } return tmse * (1d / ((double)expected.length * 2d)); } private static double[] copy(double[] original){ double[] copy = new double[original.length]; for(int i = 0; i < copy.length; i++){ copy[i] = original[i]; } return copy; } private static double[] pass(double[][] inputs, double bias, double[] weights){ double[] outputs = new double[inputs.length]; for(int j = 0; j < inputs.length; j++){ double v = 0; for(int i = 0; i < inputs[j].length; i++){ v += weights[i] * inputs[j][i] - bias; } outputs[j] = sigmoid(v); } return outputs; } private static double sigmoid(double z){ return 1 / (1 + Math.pow(Math.E, -z)); } } You use it as follows: 1: Type your training inputs into a text document. Seperate inputs with new lines and numbers with #. Save it. 2. Type the outputs you want the neuron to give your for the inputs in the previous step. Seperate the numbers with # and write it all in one line 3. Start the program with the arguments like this: java -jar [whatever you named the .jar file after exporting] [path to file containing training inputs] [path to file containing wanted outputs] [number of training iterations you want it to do] [training rate] 4. Wait for it to finish. 5. At the end, it gives you the final outputs of the neuron for the given training inputs At the moment it doesn't save the neuron, so you can really only train it. But i have like 25 free lines, so i'll definitely update it. Example: I trained a neuron using this as training input: 0#0 0#1 1#0 1#1 And this as the outputs i wanted: 1#1#1#0 So we want the output to be 1 for the inputs of 0 and 0, 0 and 1, 1 and 0. And want it to be 0 for the inputs of 1,1. Which is basically a NAND gate. I trained it with a training rate of 1 over 100 iterations and got these outputs: 0.9998635526179154, 0.9431409876976167, 0.949081101268096, 0.04048354437353434, which is very close to what i wanted. So it DOES work. Kinda useless until you can save and load the weights and the bias, but i'm working on it. Note: i know this uses what is probably the most slow and most ineficient training algorithm. But did you really expect me to program gradient descent in the 25 lines that were left?
×