|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |
java.lang.Object org.ojalgo.concurrent.Hardware
public final class Hardware
processors
, cores
and units
may be incorrectly calculated if you fail to specify the caches.
Known issue: If you have more than one processor, nut no L3
cache; the processors
attribute will be incorrectly
set 1. A workaround that currently works is to define an L3
cache anyway and set the memory/size of that cache to 0bytes.
This workoround may stop working in the future.
new MemoryThreads[] { SYSTEM, L3, L2, L1 }
or
new MemoryThreads[] { SYSTEM, L2, L1 }
or
new MemoryThreads[] { SYSTEM, L1 }
Nested Class Summary | |
---|---|
static class |
Hardware.MemoryThreads
How much memory, and how many threads share that memory. |
Field Summary | |
---|---|
long |
cache
The size of one L2 cache unit in bytes. |
int |
cores
The total number of processor cores. |
int |
dim
The dimension (size) of the largest square matrix that will fit in an L2 cache. |
int |
elements
The largest number of matrix elements that will fit in an L2 cache |
static Hardware |
I7_620M
Peter Abeles's (EJML) Intel Core i7-620M laptop 1 processor 2 cores per processor 2 threads per core Total 4 threads 8GB RAM 4MB L3 cache per processor 256kB L2 cache per core 32kB L1 cache per core |
static Hardware |
I7_920
Holger Arndt's (UJMP) Intel Core i7-920 server 1 processor 4 cores per processor 2 threads per core Total 8 threads 8GB RAM 8MB L3 cache per processor 256kB L2 cache per core 32kB L1 cache per core |
static Hardware |
INTEL1
1 processor 1 core per processor 1 thread per core Total 1 threads 1GB RAM 1MB L2 cache per processor 32kB L1 cache per core |
static Hardware |
MANTA
1 processor 2 cores per processor 1 thread per core Total 2 threads 4GB RAM (MANTA: 3GB, B5950053: 3.5GB) 4MB L2 cache per processor (MANTA: 4MB, B5950053: 6MB) 32kB L1 cache per core |
long |
memory
Total amount of system RAM in bytes |
int |
processors
The number of L3 cache units. |
static Hardware |
QXX00
Peter Abeles' (EJML) Q9400 and Q6600 machines. |
static Hardware |
SAILFISH
2 processors 4 cores per processor 2 threads per core Total 16 threads 12GB RAM 8MB L3 cache per processor 256kB L2 cache per core 32kB L1 cache per core |
int |
threads
Total number of threads handled by the system. |
int |
units
The number of L2 cache units. |
Constructor Summary | |
---|---|
Hardware(Hardware.MemoryThreads[] someLevels)
new MemoryThreads[] { SYSTEM, L3, L2, L1 }
or
new MemoryThreads[] { SYSTEM, L2, L1 }
or in worst case
new MemoryThreads[] { SYSTEM, L1 } |
Method Summary | |
---|---|
int |
countThreadsPerCore()
|
int |
countThreadsPerProcessor()
|
int |
countThreadsPerUnit()
|
boolean |
isL2Specified()
|
boolean |
isL3Specified()
|
boolean |
isMultiCore()
|
boolean |
isMultiProcessor()
|
boolean |
isMultiUnit()
|
static Hardware |
makeSimple(long systemRAM,
int systemThreads)
|
String |
toString()
|
Methods inherited from class java.lang.Object |
---|
equals, getClass, hashCode, notify, notifyAll, wait, wait, wait |
Field Detail |
---|
public static final Hardware I7_620M
public static final Hardware I7_920
public static final Hardware INTEL1
public static final Hardware MANTA
public static final Hardware QXX00
public static final Hardware SAILFISH
public final long cache
memory
.
public final int cores
public final int dim
public final int elements
public final long memory
public final int processors
units
.
public final int threads
Runtime.availableProcessors()
public final int units
1
.
Constructor Detail |
---|
public Hardware(Hardware.MemoryThreads[] someLevels)
new MemoryThreads[] { SYSTEM, L3, L2, L1 }
or
new MemoryThreads[] { SYSTEM, L2, L1 }
or in worst case
new MemoryThreads[] { SYSTEM, L1 }
Method Detail |
---|
public static Hardware makeSimple(long systemRAM, int systemThreads)
public int countThreadsPerCore()
public int countThreadsPerProcessor()
public int countThreadsPerUnit()
public boolean isL2Specified()
public boolean isL3Specified()
public boolean isMultiCore()
public boolean isMultiProcessor()
public boolean isMultiUnit()
public String toString()
toString
in class Object
|
||||||||
PREV CLASS NEXT CLASS | FRAMES NO FRAMES | |||||||
SUMMARY: NESTED | FIELD | CONSTR | METHOD | DETAIL: FIELD | CONSTR | METHOD |