Unable to paralleled running VG bioinformatic tool in parallel computing (if possible with GUI), when working on server? - unix

I am running a server at my workplace with specs as follows:
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 56
On-line CPU(s) list: 0-55
Thread(s) per core: 2
Core(s) per socket: 14
Socket(s): 2
NUMA node(s): 2
Vendor ID: GenuineIntel
CPU family: 6
Model: 63
Model name: Intel(R) Xeon(R) CPU E5-2683 v3 # 2.00GHz
Stepping: 2
CPU MHz: 2000.000
BogoMIPS: 4004.58
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 35840K
NUMA node0 CPU(s): 0-13,28-41
NUMA node1 CPU(s): 14-27,42-55
With the OS information:
Transient hostname: some-server-gs
Icon name: computer-server
Chassis: server
Operating System: CentOS Linux 7 (Core)
Kernel: Linux 3.10.0-514.el7.x86_64
Architecture: x86-64
I'm starting with the "Parallel" package but is there any GUI based way to use parallel computing?
I just tried running the command "parallel" but it did not work!

Related

OpenCL on isolated CPU cores

I have an 8 core linux machine on which I've altered my grub.conf with
isolcpus=4,5,6,7
so that the last four cores are not used by the OS process scheduler. Running the command clinfo shows for the CPU: MAX_COMPUTE_UNITS: 4.
Removing the isolcpus line from my grub.conf file and running clinfo shows for the CPU: MAX_COMPUTE_UNITS: 8. I guess this means that any OpenCL kernel will not use the isolated CPUs. Does anyone know how to force an OpenCL kernel to use the isolated CPUs? More info on my specific OpenCL implementation from clinfo:
NAME: Intel(R) Xeon(R) CPU E5-2603 v2 # 1.80GHz
VENDOR: Intel(R) Corporation
PROFILE: FULL_PROFILE
VERSION: OpenCL 1.2 (Build 8)
EXTENSIONS: cl_khr_icd cl_khr_global_int32_base_atomics cl_khr_global_int32_extended_atomics cl_khr_local_int32_base_atomics cl_khr_local_int32_extended_atomics cl_khr_byte_addressable_store cl_khr_spir cl_intel_exec_by_local_thread cl_khr_depth_images cl_khr_3d_image_writes cl_khr_fp64
DRIVER_VERSION: 1.2.0.8

mpi, cannot allocate slots even though processors are available

i am running an mpi program on the below linux machine resources:
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 32
On-line CPU(s) list: 0-31
Thread(s) per core: 2
Core(s) per socket: 8
the problem happens when i spawn the processes using:
MPI_Comm_spawn("./processes/montecarlo", array_of_argv, numworkers,
MPI_INFO_NULL,
0, MPI_COMM_SELF, &workercomm, MPI_ERRCODES_IGNORE);
numworkers if i set it to 30( as i have 32 CPU) or even to 20, or to 15 ==> i w ill have the message of:
There are not enough slots available in the system to satisfy the 21 slots
that were requested by the application:
./processes/montecarlo
Either request fewer slots for your application, or make more slots
available for use.

How to install OpenCL on system with both Intel and AMD GPUs for hashcat?

Having trouble configuring my setup for hashcat on debian.
Here's the relevant output of lshow:
$ lshow
*-pci:0
description: PCI bridge
product: Skylake PCIe Controller (x16)
vendor: Intel Corporation
physical id: 1
bus info: pci#0000:00:01.0
version: 05
width: 32 bits
clock: 33MHz
capabilities: pci normal_decode bus_master cap_list
configuration: driver=pcieport
resources: irq:16 ioport:e000(size=4096) memory:df300000-df3fffff ioport:c0000000(size=268435456)
*-display
description: VGA compatible controller
product: Cedar [Radeon HD 5000/6000/7350/8350 Series]
vendor: Advanced Micro Devices, Inc. [AMD/ATI]
physical id: 0
bus info: pci#0000:01:00.0
version: 00
width: 64 bits
clock: 33MHz
capabilities: vga_controller bus_master cap_list rom
configuration: driver=radeon latency=0
*-pci:1
description: PCI bridge
product: Intel Corporation
vendor: Intel Corporation
physical id: 1b
bus info: pci#0000:00:1b.0
version: f0
width: 32 bits
clock: 33MHz
capabilities: pci normal_decode bus_master cap_list
configuration: driver=pcieport
resources: irq:16 ioport:d000(size=4096) memory:dc000000-df0fffff ioport:b0000000(size=268435456)
*-display UNCLAIMED
description: VGA compatible controller
product: G98 [GeForce 8400 GS Rev. 2]
vendor: NVIDIA Corporation
physical id: 0
bus info: pci#0000:02:00.0
version: a1
width: 64 bits
clock: 33MHz
capabilities: vga_controller cap_list
configuration: latency=0
resources: memory:de000000-deffffff memory:b0000000-bfffffff memory:dc000000-ddffffff ioport:d000(size=128) memory:df000000-df01ffffesources: irq:133 memory:c0000000-cfffffff memory:df320000-df33ffff ioport:e000(size=256) memory:c0000-dffff
You just need to install both appropriate OpenCL drivers. They'll typically appear as separate platforms with their own devices. I'd recommend using the clinfo program (you can install it through your package manager) to ensure all the devices are being detected.

Using all cores with Microsoft R Open and Google Compute Engine

I'm using Microsoft R Open on a GCE instance that has two vCPUs. Here are its specs.
$ lscpu
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 2
On-line CPU(s) list: 0,1
Thread(s) per core: 2
Core(s) per socket: 1
Socket(s): 1
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 63
Model name: Intel(R) Xeon(R) CPU # 2.30GHz
Stepping: 0
CPU MHz: 2300.000
BogoMIPS: 4600.00
Hypervisor vendor: KVM
Virtualization type: full
L1d cache: 32K
L1i cache: 32K
L2 cache: 256K
L3 cache: 46080K
NUMA node0 CPU(s): 0,1
Flags: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush
mmx fxsr sse sse2 ss ht syscall nx pdpe1gb rdtscp lm constant_tsc rep_good nopl xtopology nonstop_tsc
eagerfpu pni pclmulqdq ssse3 fma cx16 sse4_1 sse4_2 x2apic movbe popcnt aes xsave avx f16c rdrand hyp
ervisor lahf_lm abm fsgsbase tsc_adjust bmi1 avx2 smep bmi2 erms xsaveopt
Even though I have two cores, Microsoft R Open seems to recognize only one of them, so I'm not taking full advantage of my computing capacity. I can't set the numbers of threads manually either.
Microsoft R Open 3.3.2
The enhanced R distribution from Microsoft
Microsoft packages Copyright (C) 2016 Microsoft Corporation
Using the Intel MKL for parallel mathematical computing(using 1 cores).
Default CRAN mirror snapshot taken on 2016-11-01.
See: https://mran.microsoft.com/.
> getMKLthreads()
[1] 1
> setMKLthreads(2)
Number of threads at maximum: no change has been made.
Here's a graph showing CPU usage. It never uses more than 50% of CPU power.
So, what should I do so I can use all my cores with MRO?
you are running Xeon which is hyper threaded . You have 1 cpu with hyper threading,the os treats it as 2 cpus but there is only one physical cpu. MRO uses the physical cores only(without hyper threading)
You can use this:
library(doParallel)
no_cores <- detectCores() - 1
registerDoParallel(cores=no_cores)
It will one core less than the actual cores you have. It leaves one core for OS operations. Try it out.

Command to find information about CPUs on a UNIX machine

Do you know if there is a UNIX command that will tell me what the CPU configuration for my Sun OS UNIX machine is? I am also trying to determine the memory configuration. Is there a UNIX command that will tell me that?
There is no standard Unix command, AFAIK. I haven't used Sun OS, but on Linux, you can use this:
cat /proc/cpuinfo
Sorry that it is Linux, not Sun OS. There is probably something similar though for Sun OS.
The nproc command shows the number of processing units available:
$ nproc
Sample outputs: 4
lscpu gathers CPU architecture information form /proc/cpuinfon in human-read-able format:
$ lscpu
Sample outputs:
Architecture: x86_64
CPU op-mode(s): 32-bit, 64-bit
Byte Order: Little Endian
CPU(s): 8
On-line CPU(s) list: 0-7
Thread(s) per core: 1
Core(s) per socket: 4
CPU socket(s): 2
NUMA node(s): 1
Vendor ID: GenuineIntel
CPU family: 6
Model: 15
Stepping: 7
CPU MHz: 1866.669
BogoMIPS: 3732.83
Virtualization: VT-x
L1d cache: 32K
L1i cache: 32K
L2 cache: 4096K
NUMA node0 CPU(s): 0-7
Try psrinfo to find the processor type and the number of physical processors installed on the system.
Firstly, it probably depends which version of Solaris you're running, but also what hardware you have.
On SPARC at least, you have psrinfo to show you processor information, which run on its own will show you the number of CPUs the machine sees. psrinfo -p shows you the number of physical processors installed. From that you can deduce the number of threads/cores per physical processors.
prtdiag will display a fair bit of info about the hardware in your machine. It looks like on a V240 you do get memory channel info from prtdiag, but you don't on a T2000. I guess that's an architecture issue between UltraSPARC IIIi and UltraSPARC T1.
I think you can use prtdiag or prtconf on many UNIXs
My favorite is to look at the boot messages. If it's been recently booted try running /etc/dmesg. Otherwise find the boot messages, logged in /var/adm or some place in /var.

Resources