Jump to content

Smiffy_

Member
  • Posts

    100
  • Joined

  • Last visited

Awards

This user doesn't have any awards

System

  • CPU
    i7-8700K OC
  • Motherboard
    Z370I Gaming Pro Carbon AC
  • RAM
    Crucial 3200mhz 16GB
  • GPU
    GTX 970 SC
  • Case
    Node 202
  • Storage
    500GB Samsung Evo, 4x1TB HDD
  • PSU
    600W
  • Display(s)
    ASUS VG248QE, 2xAsus VS247HR
  • Cooling
    Scythe Big Shuriken 2 Rev.B
  • Keyboard
    Razer BlackWidow
  • Mouse
    NAOS QG
  • Operating System
    Win10 Pro

Recent Profile Visitors

1,194 profile views
  1. Hi, I'm attempting to combine row/column 2-D arrays outputted from each process into a single complete 2-D array on all processes. Essentially, I have a large NxN 2-D array (4000x4000 +) that requires the same operation to be carried out on all elements. My intention is to break this down into either sections of rows or columns that each process will complete. I need each process to have the entirety of the array once all sections have been completed. I have looked at multiple examples of using these MPI instructions but could not find one that combined rows/columns from N processes. Could someone please inform me as to how I can implement this? Below is a boilerplate example of what I'm trying to achieve. Each process creates a master matrix and then calculates the set of rows it's responsible for. It then creates a 2-D array of that size and copies the data from the master. It then carries out its operation on each element of the 2-D array. I then need to use Allgatherv to collect each process's 2-D array and combine them to overwrite the master matrix. Please note that it is not important whether I use rows or columns from my point of view, I believed sticking to one and not trying to create multiple submatrices would allow me to easily increase the number of processes running without added complexity. #include <stdio.h> #include <stdlib.h> #include <mpi.h> double **alloc_2d_array(int m, int n) { double **x; int i; x = (double **)malloc(m*sizeof(double *)); x[0] = (double *)calloc(m*n,sizeof(double)); for ( i = 1; i < m; i++ ) x[i] = &x[0][i*n]; return x; } void main(int argc, char *argv[]) { int n = 8; int rank, size; int root_rank = 0; MPI_Init(&argc,&argv); MPI_Comm_rank(MPI_COMM_WORLD, &rank); MPI_Comm_size(MPI_COMM_WORLD, &size); // Report active to console printf("Rank: %d, reporting!\n", rank); // Make master matrix double ** master_matrix = alloc_2d_array(n, n); // Set starting values in master matrix for (int i=0; i<n; i++) { for (int j=0; j<n; j++) { master_matrix[i][j] = i*n+j; } } // Calculate each ranks section of matrix int interval = n/size; int section_end = interval*(rank+1); int section_start = section_end - interval; if (rank == size-1) { section_end += n % size; } int section_length = section_end-section_start; printf("Start: %d, End: %d\n", section_start, section_end); // Make local rows double ** local_sect = alloc_2d_array(section_length, n); // Set local rows to master_matrix rows for (int i=0; i<section_length; i++) { local_sect[i] = master_matrix[i]; } // Carry out operation (in this example, adding 7) for (int i=0; i<section_length; i++) { for (int j=0; j<n; j++) { local_sect[i][j] = local_sect[i][j]+7; } } // Use Allgatherv to overwrite master matrix to new complete matrix // MPI_Allgatherv(my_values, my_values_count, MPI_INT, buffer, counts, displacements, MPI_INT, MPI_COMM_WORLD); // Print new master matrix out on all processes printf("NEW MASTER MATRIX\n"); for (int i=0; i<n; i++) { for (int j=0; j<n; j++) { printf("%f ", master_matrix[i][j]); } printf("\n"); } MPI_Finalize(); }
  2. Hey, I'm trying to salvage an XFX R9 280X, when I install the drivers it flashes once and then just shows an active black screen and the PC is unresponsive. When I restart, it loads up Windows and even shows me the boot logo but then returns to the acrive black screen. I have to go into safe mode and remove the drivers so Windows returns to the Basic Display Adaptor. I have moved the GPU to a different fully functional machine but the same error occurs. I have replaced the thermal paste, flashed the GPU BIOS, installed older versions of the drivers to unfortunately to no avail. Any help would be greatly appreciated, Ryan.
  3. Hey, I'm trying to find the right GPU upgrade for my system. It's a Mini-ITX system built into a Node 202 case. I upgraded my system just over a year ago to a Z370I Gaming Pro Carbon AC motherboard with an i7-8700K and I kept my EVGA GTX 970 from a few years prior. This card is now however quite outdated, although having my case is handy for easy mobility of the system it is making this upgrade semi-difficult. I was looking at the recent 5700 XT from AMD but I would preferably like one without the reference cooler, this £450-£500 area is roughly my budget. Any help would be greatly appreciated. Cheers, Ryan
  4. Hey, I have used a for loop to create a series of buttons from a list. I plan to use 'index' passed through to 'printMap' to determine which button was pressed. However, whenever I load the webpage it runs the mousePressed function continuosly and I do not know why. Any help would be greatly appreciated and if you require any more infomration please do ask. Cheers, Ryan function createButtons() { startCo = y+110 mapPool.forEach( function(item, index) { //console.log(item, index); test = createButton(item); test.parent("main-container") test.style("height","35px"); test.position(x+(cnvWidth/2), startCo); test.center('horizontal'); test.mousePressed(printMap(index)); startCo += 50; }); } function printMap(index) { console.log("Click!"); //console.log(mapPool[index]); }
  5. My issue is with how to host two seperate pages, i.e. admin page on /admin and viewer page on /viewer using Node.js
  6. So I wish to make a basic application in which I have an 'admin' page where I can manually adjust some data values. Alongisde another page which is shown to the user that updates live to the changes made from the 'admin' page.
  7. Hey, I'm trying to use Node.js alongside express and socket to load two pages, one for settings/preferences and the other to display information/data that is responsive to the inputs from the first settings/preferences page. I have done some previous work with Node.js but for the life of me I can't seem to find a way to do this (usually I do everything through one page). I'm guessing this is because I'm approaching it incorrectly and would love for someone to inform how I should approach this properly. Any help would be greatly appreciated, Ryth
  8. Cheers, I'm already aware of these. Was looking for a solution for going straight into the printer preferences menu. Thank you though, Ryan
  9. Hey, I am doing some work for a less technically able client and going through Win10 menus to access printer preferences is hard for them to learn/remember. I was wondering if I could create a shortcut/script to open it upon a single click. Any help would be greatly appreciated. Cheers, Ryan
  10. I'm running cabled to get the best performance. I have UK FTTC so about 30Mbps.
  11. In my current household live 5 occupants (including myself), with a vast amount of devices connected to the network via both cabled and wireless. Each occupant has a desktop computer (cabled), a laptop, smartphone, and tablet. Alongside multiple Smart TVs, NASs and a CCTV security system that syncs data to the cloud. Subsequently, this causes a substantial amount of traffic at any given time. My issue is that when I attempt to play an online game my ping fluctuates greatly making it almost unplayable, allowing me to only play when nobody else is there. I currently have a Netgear 24 port switch looking after cameras and desktops as well as a router with both 5GHz and 2.5GHz bands acting as an access point for the wireless connections (the fibre input line is badly positioned). We are also using the ISP issued router, which I'm thinking may be the source of the problem. I'm trying to find a way to improve my network so that I can play without issues whilst others can still continue to carry out their tasks with little to no notice of a change. Any help would be greatly appreciated, Ryan
  12. I've been looking at this C4 and it looks amazing and is basically exactly what I want. Any ideas whether it's even going to be made? Can only see posts from late 2017...
  13. Ah, I remember now. I've looked at this before but it's extortionate and out of stock. Does anyone know of any cases that are similar? I own the Node 202 but want something shorter and wider than will let me watercool.
  14. Edit: Dan 4. I've looked at this before but it's extortionate and out of stock. Does anyone know of any cases that are similar? I own the Node 202 but want something shorter and wider than will let me watercool. Can anyone tell me what the cases are here? Especially the one marked in red. Cheers
  15. Hey, I'm trying to host a database on my server and wish for a web interface to display the database as well as allow editing to the database. I also wish to be able to query the database through API requests. I've seen certain CMS's that allow for this sort of functionality but not for databases and I'm trying to refrain from writing the majority of the web interface myself. The end goal is to be able to edit the database through both the web interface and through an app using an API. Cheers, Ryan
×