Multidimensional array library for Kotlin.

Related tags

Kotlin multik
Overview

JetBrains incubator project Maven Central GitHub license

Multik

Multidimensional array library for Kotlin.

Modules

  • multik-api — contains ndarrays, methods called on them and [math], [stat] and [linalg] interfaces.
  • multik-default — implementation including jvm and native for performance.
  • multik-jvm — implementation of [math], [stat] and [linalg] interfaces on JVM.
  • multik-native — implementation of [math], [stat] and [linalg] interfaces in native code using OpenBLAS.

Using in your projects

In your Gradle build script:

  1. Add the Maven Central Repository.
  2. Add the org.jetbrains.kotlinx:multik-api:$multik_version api dependency.
  3. Add an implementation dependency: org.jetbrains.kotlinx:multik-default:$multik_version, org.jetbrains.kotlinx:multik-jvm:$multik_version or org.jetbrains.kotlinx:multik-native:$multik_version.

build.gradle:

repositories {
    mavenCentral()
}

dependencies {
    implementation "org.jetbrains.kotlinx:multik-api:0.1.0"
    implementation "org.jetbrains.kotlinx:multik-default:0.1.0"
}

build.gradle.kts:

repositories {
    mavenCentral()
}

dependencies {
    implementation("org.jetbrains.kotlinx:multik-api:0.1.0")
    implementation("org.jetbrains.kotlinx:multik-default:0.1.0")
}

Quickstart

Visit Multik documentation for a detailed feature overview.

Creating arrays

val a = mk.ndarray(mk[1, 2, 3])
/* [1, 2, 3] */

val b = mk.ndarray(mk[mk[1.5, 2.1, 3.0], mk[4.0, 5.0, 6.0]])
/*
[[1.5, 2.1, 3.0],
[4.0, 5.0, 6.0]]
*/

val c = mk.ndarray(mk[mk[mk[1.5f, 2f, 3f], mk[4f, 5f, 6f]], mk[mk[3f, 2f, 1f], mk[4f, 5f, 6f]]])
/*
[[[1.5, 2.0, 3.0],
[4.0, 5.0, 6.0]],

[[3.0, 2.0, 1.0],
[4.0, 5.0, 6.0]]]
*/


mk.zeros<Double>(3, 4) // create an array of zeros
/*
[[0.0, 0.0, 0.0, 0.0],
[0.0, 0.0, 0.0, 0.0],
[0.0, 0.0, 0.0, 0.0]]
*/
mk.ndarray<Float, D2>(setOf(30f, 2f, 13f, 12f), intArrayOf(2, 2)) // create an array from a collection
/*
[[30.0, 2.0],
[13.0, 12.0]]
*/
val d = mk.ndarray(doubleArrayOf(1.0, 1.3, 3.0, 4.0, 9.5, 5.0), 2, 3) // create an array of shape(2, 3) from a primitive array
/*
[[1.0, 1.3, 3.0],
[4.0, 9.5, 5.0]]
*/
mk.d3array(2, 2, 3) { it * it } // create an array of 3 dimension
/*
[[[0, 1, 4],
[9, 16, 25]],

[[36, 49, 64],
[81, 100, 121]]]
*/

mk.d2arrayIndices(3, 3) { i, j -> ComplexFloat(i, j) }
/*
[[0.0+(0.0)i, 0.0+(1.0)i, 0.0+(2.0)i],
[1.0+(0.0)i, 1.0+(1.0)i, 1.0+(2.0)i],
[2.0+(0.0)i, 2.0+(1.0)i, 2.0+(2.0)i]]
 */

mk.arange<Long>(10, 25, 5) // creare an array with elements in the interval [19, 25) with step 5
/* [10, 15, 20] */

mk.linspace<Double>(0, 2, 9) // create an array of 9 elements in the interval [0, 2]
/* [0.0, 0.25, 0.5, 0.75, 1.0, 1.25, 1.5, 1.75, 2.0] */

val e = mk.identity<Double>(3) // create an identity array of shape (3, 3)
/*
[[1.0, 0.0, 0.0],
[0.0, 1.0, 0.0],
[0.0, 0.0, 1.0]]
*/

Array properties

a.shape // Array dimensions
a.size // Size of array
a.dim // object Dimension
a.dim.d // number of array dimensions
a.dtype // Data type of array elements

Arithmetic operations

val f = b - d // subtraction
/*
[[0.5, 0.8, 0.0],
[0.0, -4.5, 1.0]]
*/

d + f // addition
/*
[[1.5, 2.1, 3.0],
[4.0, 5.0, 6.0]]
*/

b / d // division
/*
[[1.5, 1.6153846153846154, 1.0],
[1.0, 0.5263157894736842, 1.2]]
*/

f * d // multiplication
/*
[[0.5, 1.04, 0.0],
[0.0, -42.75, 5.0]]
*/

Array mathematics

a.sin() // element-wise sin, equivalent to mk.math.sin(a)
a.cos() // element-wise cos, equivalent to mk.math.cos(a)
b.log() // element-wise natural logarithm, equivalent to mk.math.log(b)
b.exp() // element-wise exp, equivalent to mk.math.exp(b)
d dot e // dot product, equivalent to mk.linalg.dot(d, e)

See documentation for other linear algebra methods.

Aggregate functions

mk.math.sum(c) // array-wise sum
mk.math.min(c) // array-wise minimum elements
mk.math.maxD3(c, axis=0) // maximum value of an array along axis 0
mk.math.cumSum(b, axis=1) // cumulative sum of the elements
mk.stat.mean(a) // mean
mk.stat.median(b) // meadian

Copying arrays

val f = a.copy() // create a copy of the array and its data
val h = b.deepCopy() // create a copy of the array and copy the meaningful data

Operations of Iterable

c.filter { it < 3 } // select all elements less than 3
b.map { (it * it).toInt() } // return squares
c.groupNDArrayBy { it % 2 } // group elements by condition
c.sorted() // sort elements

Indexing/Slicing/Iterating

a[2] // select the element at the 2 index
b[1, 2] // select the element at row 1 column 2
b[1] // select row 1 
b[0..2, 1] // select elements at rows 0 and 1 in column 1
b[0..1..1] // select all elements at row 0

for (el in b) {
    print("$el, ") // 1.5, 2.1, 3.0, 4.0, 5.0, 6.0, 
}

// for n-dimensional
val q = b.asDNArray()
for (index in q.multiIndices) {
    print("${q[index]}, ") // 1.5, 2.1, 3.0, 4.0, 5.0, 6.0, 
}

Inplace

val a = mk.linspace<Float>(0, 1, 10)
/*
a = [0.0, 0.1111111111111111, 0.2222222222222222, 0.3333333333333333, 0.4444444444444444, 0.5555555555555556, 
0.6666666666666666, 0.7777777777777777, 0.8888888888888888, 1.0]
*/
val b = mk.linspace<Float>(8, 9, 10)
/*
b = [8.0, 8.11111111111111, 8.222222222222221, 8.333333333333334, 8.444444444444445, 8.555555555555555,
8.666666666666666, 8.777777777777779, 8.88888888888889, 9.0]
*/

a.inplace { 
    math { 
        (this - b) * b
         abs()
    }
}
// a = [64.0, 64.88888, 65.77778, 66.66666, 67.55556, 68.44444, 69.333336, 70.22222, 71.111115, 72.0]

Building

Multik uses BLAS and LAPACK for implementing algebraic operations. Therefore, you would need a C ++ compiler and gfortran. Run ./gradlew assemble to build all modules.

  • To build api module run ./gradlew multik-api:assemble.
  • To build jvm module run ./gradlew multik-jvm:assemble.
  • To build native module run ./gradlew multik-native:assemble. To reuse multik-native in the future, you must first build multik_jni and place the native library in multik-native/build/libs
  • To build default module run ./gradlew multik-native:assemble then ./gradlew multik-default:assemble.

Testing

./gradlew test

Contributing

There is an opportunity to contribute to the project:

  1. Implement math, linalg, stat interfaces.
  2. Create your own engine successor from Engine, for example - JvmEngine.
  3. Use mk.addEngine and mk.setEngine to use your implementation.
Comments
  • Convert multik-api, multik-jvm, multik-default to use multiplaform. Add native and js targets for multik-jvm

    Convert multik-api, multik-jvm, multik-default to use multiplaform. Add native and js targets for multik-jvm

    Convert use of service loader to use standard reflection (probably wasn't necessary?)

    Reflection for discovering Engines on native doesn't work so add an initEnginesProvider function that only has an implementation for native

    updating //apply("$rootDir/gradle/publish.gradle") still needs to be done

    There might be some fat jar issues. That probably should be looked into

    opened by luca992 32
  • Publish as a Multiplatform Library

    Publish as a Multiplatform Library

    This is a feature request to publish Multik as a Kotlin Multiplatform library.

    My use case is that I've developed a multiplatform application for processing a lot sensor data, and we're currently using some non-optimal home grown matrix operations. Being able to leverage Multik would be a great improvement, however I need to be able to consume it as a mutiplatform library.

    Multik's "JVM" implementation is effectively multiplatform compatible already, with only one method touching the JVM class library (DataType.kt has one line using reflection which could be quickly removed).

    This feature request mostly involves changes to how the library is published, as opposed to changes to the library code itself.

    opened by ccjernigan 8
  • Matrix-vector dot product produces fatal error

    Matrix-vector dot product produces fatal error

    #
    # A fatal error has been detected by the Java Runtime Environment:
    #
    #  SIGILL (0x4) at pc=0x00007fdd0f0c4149, pid=8338, tid=8340
    #
    # JRE version: OpenJDK Runtime Environment AdoptOpenJDK (11.0.9+11) (build 11.0.9+11)
    # Java VM: OpenJDK 64-Bit Server VM AdoptOpenJDK (11.0.9+11, mixed mode, tiered, compressed oops, g1 gc, linux-amd64)
    # Problematic frame:
    # C  [libmultik_jni.so+0x27149]  dgemv_t+0x79
    #
    # Core dump will be written. Default location: Core dumps may be processed with "/usr/share/apport/apport %p %s %c %d %P %E" (or dumping to /home/breandan/IdeaProjects/markovian/core.8338)
    #
    # If you would like to submit a bug report, please visit:
    #   https://github.com/AdoptOpenJDK/openjdk-support/issues
    # The crash happened outside the Java Virtual Machine in native code.
    # See problematic frame for where to report the bug.
    #
    
    ---------------  S U M M A R Y ------------
    
    Command Line: -javaagent:/home/breandan/.local/share/JetBrains/Toolbox/apps/IDEA-U/ch-0/203.7148.40/lib/idea_rt.jar=35141:/home/breandan/.local/share/JetBrains/Toolbox/apps/IDEA-U/ch-0/203.7148.40/bin -Dfile.encoding=UTF-8 edu.mcgill.markovian.mcmc.MarkovChainKt
    
    Host: Intel(R) Xeon(R) CPU E3-1505M v5 @ 2.80GHz, 8 cores, 62G, Ubuntu 18.04.5 LTS
    Time: Sat Jan 23 20:02:02 2021 SST elapsed time: 0.392679 seconds (0d 0h 0m 0s)
    
    ---------------  T H R E A D  ---------------
    
    Current thread (0x00007fdd8002e000):  JavaThread "main" [_thread_in_native, id=8340, stack(0x00007fdd893de000,0x00007fdd894df000)]
    
    Stack: [0x00007fdd893de000,0x00007fdd894df000],  sp=0x00007fdd894dced0,  free space=1019k
    Native frames: (J=compiled Java code, A=aot compiled Java code, j=interpreted, Vv=VM code, C=native code)
    C  [libmultik_jni.so+0x27149]  dgemv_t+0x79
    C  [libmultik_jni.so+0x8910]  matrix_dot_vector_double(double*, int, int, double*, double*)+0x30
    
    Java frames: (J=compiled Java code, j=interpreted, Vv=VM code)
    j  org.jetbrains.kotlinx.multik.jni.JniLinAlg.dot([DII[D[D)V+0
    j  org.jetbrains.kotlinx.multik.jni.NativeLinAlg.dot(Lorg/jetbrains/kotlinx/multik/ndarray/data/MultiArray;Lorg/jetbrains/kotlinx/multik/ndarray/data/MultiArray;)Lorg/jetbrains/kotlinx/multik/ndarray/data/Ndarray;+655
    j  org.jetbrains.kotlinx.multik.default.DefaultLinAlg.dot(Lorg/jetbrains/kotlinx/multik/ndarray/data/MultiArray;Lorg/jetbrains/kotlinx/multik/ndarray/data/MultiArray;)Lorg/jetbrains/kotlinx/multik/ndarray/data/Ndarray;+64
    j  edu.mcgill.markovian.mcmc.MarkovChain$sample$$inlined$let$lambda$1.invoke()Ljava/lang/Object;+308
    j  kotlin.sequences.GeneratorSequence$iterator$1.calcNext()V+17
    j  kotlin.sequences.GeneratorSequence$iterator$1.hasNext()Z+8
    j  kotlin.sequences.TakeSequence$iterator$1.hasNext()Z+11
    j  kotlin.sequences.SequencesKt___SequencesKt.toCollection(Lkotlin/sequences/Sequence;Ljava/util/Collection;)Ljava/util/Collection;+22
    j  kotlin.sequences.SequencesKt___SequencesKt.toMutableList(Lkotlin/sequences/Sequence;)Ljava/util/List;+18
    j  kotlin.sequences.SequencesKt___SequencesKt.toList(Lkotlin/sequences/Sequence;)Ljava/util/List;+8
    j  edu.mcgill.markovian.mcmc.MarkovChainKt.main()V+23
    j  edu.mcgill.markovian.mcmc.MarkovChainKt.main([Ljava/lang/String;)V+0
    v  ~StubRoutines::call_stub
    
    siginfo: si_signo: 4 (SIGILL), si_code: 2 (ILL_ILLOPN), si_addr: 0x00007fdd0f0c4149
    
    Register to memory mapping:
    
    RAX=0x0000000000000120 is an unknown value
    RBX=0x00007fdd894dd060 is pointing into the stack for thread: 0x00007fdd8002e000
    RCX=0x0000000450caf5e0 is pointing into object: [D 
    {0x0000000450caf5d0} - klass: {type array double}
     - length: 1296
    RDX=0x0000000000004000 is an unknown value
    RSP=0x00007fdd894dced0 is pointing into the stack for thread: 0x00007fdd8002e000
    RBP=0x00007fdd894dd3c0 is pointing into the stack for thread: 0x00007fdd8002e000
    RSI=0x0000000000000024 is an unknown value
    RDI=0x0000000000000024 is an unknown value
    R8 =0x0000000000000024 is an unknown value
    R9 =0x0000000450e3b390 is pointing into object: [D 
    {0x0000000450e3b380} - klass: {type array double}
     - length: 36
    R10=0x0000000000000024 is an unknown value
    R11=0x0000000450e65540 is pointing into object: [D 
    {0x0000000450e65530} - klass: {type array double}
     - length: 36
    R12=0x0000000000000024 is an unknown value
    R13=0x0000000450caf5e0 is pointing into object: [D 
    {0x0000000450caf5d0} - klass: {type array double}
     - length: 1296
    R14=0x0000000450e65540 is pointing into object: [D 
    {0x0000000450e65530} - klass: {type array double}
     - length: 36
    R15=0x0000000450e3b390 is pointing into object: [D 
    {0x0000000450e3b380} - klass: {type array double}
     - length: 36
    
    
    Registers:
    RAX=0x0000000000000120, RBX=0x00007fdd894dd060, RCX=0x0000000450caf5e0, RDX=0x0000000000004000
    RSP=0x00007fdd894dced0, RBP=0x00007fdd894dd3c0, RSI=0x0000000000000024, RDI=0x0000000000000024
    R8 =0x0000000000000024, R9 =0x0000000450e3b390, R10=0x0000000000000024, R11=0x0000000450e65540
    R12=0x0000000000000024, R13=0x0000000450caf5e0, R14=0x0000000450e65540, R15=0x0000000450e3b390
    RIP=0x00007fdd0f0c4149, EFLAGS=0x0000000000010287, CSGSFS=0x002b000000000033, ERR=0x0000000000000000
      TRAPNO=0x0000000000000006
    
    Top of Stack: (sp=0x00007fdd894dced0)
    0x00007fdd894dced0:   00007fdd894dcf00 00007fdd894dcf10
    0x00007fdd894dcee0:   0000000000000024 0000000450e65540
    0x00007fdd894dcef0:   0000000000000001 00007fdd80aea6a0
    0x00007fdd894dcf00:   0000000450e3b390 000000018857ce00 
    
    Instructions: (pc=0x00007fdd0f0c4149)
    0x00007fdd0f0c4049:   11 c5 f8 77 c3 66 90 c5 fb 11 44 24 f8 48 83 f9
    0x00007fdd0f0c4059:   01 74 34 c5 f9 28 c8 48 c1 e1 03 48 8d 04 fe 0f
    0x00007fdd0f0c4069:   1f 84 00 00 00 00 00 c5 fb 10 06 c4 e2 f1 a9 02
    0x00007fdd0f0c4079:   48 83 c6 08 c5 fb 11 02 48 01 ca 48 39 f0 75 e7
    0x00007fdd0f0c4089:   c3 66 0f 1f 44 00 00 48 8d 4c 24 f8 31 c0 f2 44
    0x00007fdd0f0c4099:   0f 10 11 66 45 0f c6 d2 00 44 0f 10 24 c6 44 0f
    0x00007fdd0f0c40a9:   10 1c c2 66 45 0f 59 e2 48 83 c0 02 66 45 0f 58
    0x00007fdd0f0c40b9:   dc 48 83 ef 02 44 0f 11 5c c2 f0 75 dc c5 f8 77
    0x00007fdd0f0c40c9:   c3 66 0f 1f 44 00 00 41 57 41 56 41 55 41 54 55
    0x00007fdd0f0c40d9:   53 48 81 ec 28 01 00 00 4c 8b b4 24 68 01 00 00
    0x00007fdd0f0c40e9:   48 89 74 24 10 64 48 8b 04 25 28 00 00 00 48 89
    0x00007fdd0f0c40f9:   84 24 18 01 00 00 31 c0 4c 89 44 24 50 48 8b 9c
    0x00007fdd0f0c4109:   24 78 01 00 00 4c 89 4c 24 30 4c 89 74 24 18 48
    0x00007fdd0f0c4119:   85 f6 0f 8e f2 03 00 00 48 85 ff 0f 8e e9 03 00
    0x00007fdd0f0c4129:   00 48 81 ff 00 08 00 00 ba 00 40 00 00 49 89 cd
    0x00007fdd0f0c4139:   4d 89 c2 48 8d 04 fd 00 00 00 00 4c 89 6c 24 40
    0x00007fdd0f0c4149:   62 e1 fd 48 28 c0 48 8d ac 24 f0 00 00 00 48 0f
    0x00007fdd0f0c4159:   4d c2 48 89 fa 83 e2 03 4c 8d 1c 03 48 89 f0 48
    0x00007fdd0f0c4169:   89 94 24 a0 00 00 00 48 c1 fe 0b 48 c1 f8 02 4c
    0x00007fdd0f0c4179:   89 5c 24 08 25 ff 01 00 00 48 89 74 24 28 48 89
    0x00007fdd0f0c4189:   c1 48 89 44 24 78 48 89 f8 48 83 e0 fc 48 89 84
    0x00007fdd0f0c4199:   24 88 00 00 00 48 89 f8 48 8d 3c 8d 00 00 00 00
    0x00007fdd0f0c41a9:   25 ff 07 00 00 48 89 7c 24 60 bf 05 00 00 00 48
    0x00007fdd0f0c41b9:   29 d0 c4 e2 c1 f7 94 24 70 01 00 00 48 89 cf 49
    0x00007fdd0f0c41c9:   89 c1 48 89 84 24 80 00 00 00 48 0f af d1 48 8b
    0x00007fdd0f0c41d9:   84 24 60 01 00 00 48 c1 e0 03 48 89 84 24 a8 00
    0x00007fdd0f0c41e9:   00 00 4a 8d 04 c5 00 00 00 00 49 c1 e0 05 4d 89
    0x00007fdd0f0c41f9:   c7 48 89 54 24 68 49 0f af ff 48 89 44 24 20 b8
    0x00007fdd0f0c4209:   0e 00 00 00 c4 62 f9 f7 84 24 70 01 00 00 48 89
    0x00007fdd0f0c4219:   c8 48 8b 8c 24 70 01 00 00 4c 89 44 24 38 48 c1
    0x00007fdd0f0c4229:   e0 05 48 89 7c 24 70 4c 89 d7 48 c1 e1 03 48 89
    0x00007fdd0f0c4239:   fa 49 c1 e2 04 48 89 4c 24 58 4a 8d 0c cd 00 00 
    
    
    Stack slot to memory mapping:
    stack at sp + 0 slots: 0x00007fdd894dcf00 is pointing into the stack for thread: 0x00007fdd8002e000
    stack at sp + 1 slots: 0x00007fdd894dcf10 is pointing into the stack for thread: 0x00007fdd8002e000
    stack at sp + 2 slots: 0x0000000000000024 is an unknown value
    stack at sp + 3 slots: 0x0000000450e65540 is pointing into object: [D 
    {0x0000000450e65530} - klass: {type array double}
     - length: 36
    stack at sp + 4 slots: 0x0000000000000001 is an unknown value
    stack at sp + 5 slots: 0x00007fdd80aea6a0 points into unknown readable memory: 00 d0 09 0f dd 7f 00 00
    stack at sp + 6 slots: 0x0000000450e3b390 is pointing into object: [D 
    {0x0000000450e3b380} - klass: {type array double}
     - length: 36
    stack at sp + 7 slots: 0x000000018857ce00 is an unknown value
    
    
    ---------------  P R O C E S S  ---------------
    
    Threads class SMR info:
    _java_thread_list=0x00007fdd10261e30, length=12, elements={
    0x00007fdd8002e000, 0x00007fdd802e2800, 0x00007fdd802e6800, 0x00007fdd802fb800,
    0x00007fdd802fd800, 0x00007fdd802ff800, 0x00007fdd80301800, 0x00007fdd80375800,
    0x00007fdd1002f000, 0x00007fdd80852000, 0x00007fdd80852800, 0x00007fdd10260800
    }
    
    Java Threads: ( => current thread )
    =>0x00007fdd8002e000 JavaThread "main" [_thread_in_native, id=8340, stack(0x00007fdd893de000,0x00007fdd894df000)]
      0x00007fdd802e2800 JavaThread "Reference Handler" daemon [_thread_blocked, id=8347, stack(0x00007fdd3c991000,0x00007fdd3ca92000)]
      0x00007fdd802e6800 JavaThread "Finalizer" daemon [_thread_blocked, id=8348, stack(0x00007fdd3c890000,0x00007fdd3c991000)]
      0x00007fdd802fb800 JavaThread "Signal Dispatcher" daemon [_thread_blocked, id=8351, stack(0x00007fdd3c466000,0x00007fdd3c567000)]
      0x00007fdd802fd800 JavaThread "C2 CompilerThread0" daemon [_thread_blocked, id=8352, stack(0x00007fdd3c365000,0x00007fdd3c466000)]
      0x00007fdd802ff800 JavaThread "C1 CompilerThread0" daemon [_thread_blocked, id=8353, stack(0x00007fdd3c264000,0x00007fdd3c365000)]
      0x00007fdd80301800 JavaThread "Sweeper thread" daemon [_thread_blocked, id=8354, stack(0x00007fdd3c163000,0x00007fdd3c264000)]
      0x00007fdd80375800 JavaThread "Common-Cleaner" daemon [_thread_blocked, id=8355, stack(0x00007fdd3c062000,0x00007fdd3c163000)]
      0x00007fdd1002f000 JavaThread "C2 CompilerThread1" daemon [_thread_blocked, id=8356, stack(0x00007fdd0feff000,0x00007fdd10000000)]
      0x00007fdd80852000 JavaThread "Monitor Ctrl-Break" daemon [_thread_in_native, id=8357, stack(0x00007fdd0f9d6000,0x00007fdd0fad7000)]
      0x00007fdd80852800 JavaThread "Service Thread" daemon [_thread_blocked, id=8358, stack(0x00007fdd0f8d5000,0x00007fdd0f9d6000)]
      0x00007fdd10260800 JavaThread "C2 CompilerThread2" daemon [_thread_blocked, id=8360, stack(0x00007fdd0f4cf000,0x00007fdd0f5d0000)]
    
    Other Threads:
      0x00007fdd802da000 VMThread "VM Thread" [stack: 0x00007fdd3ca94000,0x00007fdd3cb94000] [id=8346]
      0x00007fdd808fd000 WatcherThread [stack: 0x00007fdd0f7d5000,0x00007fdd0f8d5000] [id=8359]
      0x00007fdd80046000 GCTaskThread "GC Thread#0" [stack: 0x00007fdd855ec000,0x00007fdd856ec000] [id=8341]
      0x00007fdd80083800 ConcurrentGCThread "G1 Main Marker" [stack: 0x00007fdd84bde000,0x00007fdd84cde000] [id=8342]
      0x00007fdd80085000 ConcurrentGCThread "G1 Conc#0" [stack: 0x00007fdd84adc000,0x00007fdd84bdc000] [id=8343]
      0x00007fdd8020d800 ConcurrentGCThread "G1 Refine#0" [stack: 0x00007fdd841d2000,0x00007fdd842d2000] [id=8344]
      0x00007fdd8020f800 ConcurrentGCThread "G1 Young RemSet Sampling" [stack: 0x00007fdd840d0000,0x00007fdd841d0000] [id=8345]
    
    Threads with active compile tasks:
    
    VM state:not at safepoint (normal execution)
    
    VM Mutex/Monitor currently owned by a thread: None
    
    Heap address: 0x0000000413800000, size: 16072 MB, Compressed Oops mode: Zero based, Oop shift amount: 3
    Narrow klass base: 0x0000000800000000, Narrow klass shift: 0
    Compressed class space size: 1073741824 Address: 0x0000000800000000
    
    Heap:
     garbage-first heap   total 1032192K, used 20480K [0x0000000413800000, 0x0000000800000000)
      region size 4096K, 7 young (28672K), 0 survivors (0K)
     Metaspace       used 9976K, capacity 10162K, committed 10368K, reserved 1058816K
      class space    used 816K, capacity 874K, committed 896K, reserved 1048576K
    Heap Regions: E=young(eden), S=young(survivor), O=old, HS=humongous(starts), HC=humongous(continues), CS=collection set, F=free, A=archive, TAMS=top-at-mark-start (previous, next)
    |   0|0x0000000413800000, 0x0000000413800000, 0x0000000413c00000|  0%| F|  |TAMS 0x0000000413800000, 0x0000000413800000| Untracked 
    |   1|0x0000000413c00000, 0x0000000413c00000, 0x0000000414000000|  0%| F|  |TAMS 0x0000000413c00000, 0x0000000413c00000| Untracked 
    |   2|0x0000000414000000, 0x0000000414000000, 0x0000000414400000|  0%| F|  |TAMS 0x0000000414000000, 0x0000000414000000| Untracked 
    |   3|0x0000000414400000, 0x0000000414400000, 0x0000000414800000|  0%| F|  |TAMS 0x0000000414400000, 0x0000000414400000| Untracked 
    |   4|0x0000000414800000, 0x0000000414800000, 0x0000000414c00000|  0%| F|  |TAMS 0x0000000414800000, 0x0000000414800000| Untracked 
    |   5|0x0000000414c00000, 0x0000000414c00000, 0x0000000415000000|  0%| F|  |TAMS 0x0000000414c00000, 0x0000000414c00000| Untracked 
    |   6|0x0000000415000000, 0x0000000415000000, 0x0000000415400000|  0%| F|  |TAMS 0x0000000415000000, 0x0000000415000000| Untracked 
    |   7|0x0000000415400000, 0x0000000415400000, 0x0000000415800000|  0%| F|  |TAMS 0x0000000415400000, 0x0000000415400000| Untracked 
    |   8|0x0000000415800000, 0x0000000415800000, 0x0000000415c00000|  0%| F|  |TAMS 0x0000000415800000, 0x0000000415800000| Untracked 
    |   9|0x0000000415c00000, 0x0000000415c00000, 0x0000000416000000|  0%| F|  |TAMS 0x0000000415c00000, 0x0000000415c00000| Untracked 
    |  10|0x0000000416000000, 0x0000000416000000, 0x0000000416400000|  0%| F|  |TAMS 0x0000000416000000, 0x0000000416000000| Untracked 
    |  11|0x0000000416400000, 0x0000000416400000, 0x0000000416800000|  0%| F|  |TAMS 0x0000000416400000, 0x0000000416400000| Untracked 
    |  12|0x0000000416800000, 0x0000000416800000, 0x0000000416c00000|  0%| F|  |TAMS 0x0000000416800000, 0x0000000416800000| Untracked 
    |  13|0x0000000416c00000, 0x0000000416c00000, 0x0000000417000000|  0%| F|  |TAMS 0x0000000416c00000, 0x0000000416c00000| Untracked 
    |  14|0x0000000417000000, 0x0000000417000000, 0x0000000417400000|  0%| F|  |TAMS 0x0000000417000000, 0x0000000417000000| Untracked 
    |  15|0x0000000417400000, 0x0000000417400000, 0x0000000417800000|  0%| F|  |TAMS 0x0000000417400000, 0x0000000417400000| Untracked 
    |  16|0x0000000417800000, 0x0000000417800000, 0x0000000417c00000|  0%| F|  |TAMS 0x0000000417800000, 0x0000000417800000| Untracked 
    |  17|0x0000000417c00000, 0x0000000417c00000, 0x0000000418000000|  0%| F|  |TAMS 0x0000000417c00000, 0x0000000417c00000| Untracked 
    |  18|0x0000000418000000, 0x0000000418000000, 0x0000000418400000|  0%| F|  |TAMS 0x0000000418000000, 0x0000000418000000| Untracked 
    |  19|0x0000000418400000, 0x0000000418400000, 0x0000000418800000|  0%| F|  |TAMS 0x0000000418400000, 0x0000000418400000| Untracked 
    |  20|0x0000000418800000, 0x0000000418800000, 0x0000000418c00000|  0%| F|  |TAMS 0x0000000418800000, 0x0000000418800000| Untracked 
    |  21|0x0000000418c00000, 0x0000000418c00000, 0x0000000419000000|  0%| F|  |TAMS 0x0000000418c00000, 0x0000000418c00000| Untracked 
    |  22|0x0000000419000000, 0x0000000419000000, 0x0000000419400000|  0%| F|  |TAMS 0x0000000419000000, 0x0000000419000000| Untracked 
    |  23|0x0000000419400000, 0x0000000419400000, 0x0000000419800000|  0%| F|  |TAMS 0x0000000419400000, 0x0000000419400000| Untracked 
    |  24|0x0000000419800000, 0x0000000419800000, 0x0000000419c00000|  0%| F|  |TAMS 0x0000000419800000, 0x0000000419800000| Untracked 
    |  25|0x0000000419c00000, 0x0000000419c00000, 0x000000041a000000|  0%| F|  |TAMS 0x0000000419c00000, 0x0000000419c00000| Untracked 
    |  26|0x000000041a000000, 0x000000041a000000, 0x000000041a400000|  0%| F|  |TAMS 0x000000041a000000, 0x000000041a000000| Untracked 
    |  27|0x000000041a400000, 0x000000041a400000, 0x000000041a800000|  0%| F|  |TAMS 0x000000041a400000, 0x000000041a400000| Untracked 
    |  28|0x000000041a800000, 0x000000041a800000, 0x000000041ac00000|  0%| F|  |TAMS 0x000000041a800000, 0x000000041a800000| Untracked 
    |  29|0x000000041ac00000, 0x000000041ac00000, 0x000000041b000000|  0%| F|  |TAMS 0x000000041ac00000, 0x000000041ac00000| Untracked 
    |  30|0x000000041b000000, 0x000000041b000000, 0x000000041b400000|  0%| F|  |TAMS 0x000000041b000000, 0x000000041b000000| Untracked 
    |  31|0x000000041b400000, 0x000000041b400000, 0x000000041b800000|  0%| F|  |TAMS 0x000000041b400000, 0x000000041b400000| Untracked 
    |  32|0x000000041b800000, 0x000000041b800000, 0x000000041bc00000|  0%| F|  |TAMS 0x000000041b800000, 0x000000041b800000| Untracked 
    |  33|0x000000041bc00000, 0x000000041bc00000, 0x000000041c000000|  0%| F|  |TAMS 0x000000041bc00000, 0x000000041bc00000| Untracked 
    |  34|0x000000041c000000, 0x000000041c000000, 0x000000041c400000|  0%| F|  |TAMS 0x000000041c000000, 0x000000041c000000| Untracked 
    |  35|0x000000041c400000, 0x000000041c400000, 0x000000041c800000|  0%| F|  |TAMS 0x000000041c400000, 0x000000041c400000| Untracked 
    |  36|0x000000041c800000, 0x000000041c800000, 0x000000041cc00000|  0%| F|  |TAMS 0x000000041c800000, 0x000000041c800000| Untracked 
    |  37|0x000000041cc00000, 0x000000041cc00000, 0x000000041d000000|  0%| F|  |TAMS 0x000000041cc00000, 0x000000041cc00000| Untracked 
    |  38|0x000000041d000000, 0x000000041d000000, 0x000000041d400000|  0%| F|  |TAMS 0x000000041d000000, 0x000000041d000000| Untracked 
    |  39|0x000000041d400000, 0x000000041d400000, 0x000000041d800000|  0%| F|  |TAMS 0x000000041d400000, 0x000000041d400000| Untracked 
    |  40|0x000000041d800000, 0x000000041d800000, 0x000000041dc00000|  0%| F|  |TAMS 0x000000041d800000, 0x000000041d800000| Untracked 
    |  41|0x000000041dc00000, 0x000000041dc00000, 0x000000041e000000|  0%| F|  |TAMS 0x000000041dc00000, 0x000000041dc00000| Untracked 
    |  42|0x000000041e000000, 0x000000041e000000, 0x000000041e400000|  0%| F|  |TAMS 0x000000041e000000, 0x000000041e000000| Untracked 
    |  43|0x000000041e400000, 0x000000041e400000, 0x000000041e800000|  0%| F|  |TAMS 0x000000041e400000, 0x000000041e400000| Untracked 
    |  44|0x000000041e800000, 0x000000041e800000, 0x000000041ec00000|  0%| F|  |TAMS 0x000000041e800000, 0x000000041e800000| Untracked 
    |  45|0x000000041ec00000, 0x000000041ec00000, 0x000000041f000000|  0%| F|  |TAMS 0x000000041ec00000, 0x000000041ec00000| Untracked 
    |  46|0x000000041f000000, 0x000000041f000000, 0x000000041f400000|  0%| F|  |TAMS 0x000000041f000000, 0x000000041f000000| Untracked 
    |  47|0x000000041f400000, 0x000000041f400000, 0x000000041f800000|  0%| F|  |TAMS 0x000000041f400000, 0x000000041f400000| Untracked 
    |  48|0x000000041f800000, 0x000000041f800000, 0x000000041fc00000|  0%| F|  |TAMS 0x000000041f800000, 0x000000041f800000| Untracked 
    |  49|0x000000041fc00000, 0x000000041fc00000, 0x0000000420000000|  0%| F|  |TAMS 0x000000041fc00000, 0x000000041fc00000| Untracked 
    |  50|0x0000000420000000, 0x0000000420000000, 0x0000000420400000|  0%| F|  |TAMS 0x0000000420000000, 0x0000000420000000| Untracked 
    |  51|0x0000000420400000, 0x0000000420400000, 0x0000000420800000|  0%| F|  |TAMS 0x0000000420400000, 0x0000000420400000| Untracked 
    |  52|0x0000000420800000, 0x0000000420800000, 0x0000000420c00000|  0%| F|  |TAMS 0x0000000420800000, 0x0000000420800000| Untracked 
    |  53|0x0000000420c00000, 0x0000000420c00000, 0x0000000421000000|  0%| F|  |TAMS 0x0000000420c00000, 0x0000000420c00000| Untracked 
    |  54|0x0000000421000000, 0x0000000421000000, 0x0000000421400000|  0%| F|  |TAMS 0x0000000421000000, 0x0000000421000000| Untracked 
    |  55|0x0000000421400000, 0x0000000421400000, 0x0000000421800000|  0%| F|  |TAMS 0x0000000421400000, 0x0000000421400000| Untracked 
    |  56|0x0000000421800000, 0x0000000421800000, 0x0000000421c00000|  0%| F|  |TAMS 0x0000000421800000, 0x0000000421800000| Untracked 
    |  57|0x0000000421c00000, 0x0000000421c00000, 0x0000000422000000|  0%| F|  |TAMS 0x0000000421c00000, 0x0000000421c00000| Untracked 
    |  58|0x0000000422000000, 0x0000000422000000, 0x0000000422400000|  0%| F|  |TAMS 0x0000000422000000, 0x0000000422000000| Untracked 
    |  59|0x0000000422400000, 0x0000000422400000, 0x0000000422800000|  0%| F|  |TAMS 0x0000000422400000, 0x0000000422400000| Untracked 
    |  60|0x0000000422800000, 0x0000000422800000, 0x0000000422c00000|  0%| F|  |TAMS 0x0000000422800000, 0x0000000422800000| Untracked 
    |  61|0x0000000422c00000, 0x0000000422c00000, 0x0000000423000000|  0%| F|  |TAMS 0x0000000422c00000, 0x0000000422c00000| Untracked 
    |  62|0x0000000423000000, 0x0000000423000000, 0x0000000423400000|  0%| F|  |TAMS 0x0000000423000000, 0x0000000423000000| Untracked 
    |  63|0x0000000423400000, 0x0000000423400000, 0x0000000423800000|  0%| F|  |TAMS 0x0000000423400000, 0x0000000423400000| Untracked 
    |  64|0x0000000423800000, 0x0000000423800000, 0x0000000423c00000|  0%| F|  |TAMS 0x0000000423800000, 0x0000000423800000| Untracked 
    |  65|0x0000000423c00000, 0x0000000423c00000, 0x0000000424000000|  0%| F|  |TAMS 0x0000000423c00000, 0x0000000423c00000| Untracked 
    |  66|0x0000000424000000, 0x0000000424000000, 0x0000000424400000|  0%| F|  |TAMS 0x0000000424000000, 0x0000000424000000| Untracked 
    |  67|0x0000000424400000, 0x0000000424400000, 0x0000000424800000|  0%| F|  |TAMS 0x0000000424400000, 0x0000000424400000| Untracked 
    |  68|0x0000000424800000, 0x0000000424800000, 0x0000000424c00000|  0%| F|  |TAMS 0x0000000424800000, 0x0000000424800000| Untracked 
    |  69|0x0000000424c00000, 0x0000000424c00000, 0x0000000425000000|  0%| F|  |TAMS 0x0000000424c00000, 0x0000000424c00000| Untracked 
    |  70|0x0000000425000000, 0x0000000425000000, 0x0000000425400000|  0%| F|  |TAMS 0x0000000425000000, 0x0000000425000000| Untracked 
    |  71|0x0000000425400000, 0x0000000425400000, 0x0000000425800000|  0%| F|  |TAMS 0x0000000425400000, 0x0000000425400000| Untracked 
    |  72|0x0000000425800000, 0x0000000425800000, 0x0000000425c00000|  0%| F|  |TAMS 0x0000000425800000, 0x0000000425800000| Untracked 
    |  73|0x0000000425c00000, 0x0000000425c00000, 0x0000000426000000|  0%| F|  |TAMS 0x0000000425c00000, 0x0000000425c00000| Untracked 
    |  74|0x0000000426000000, 0x0000000426000000, 0x0000000426400000|  0%| F|  |TAMS 0x0000000426000000, 0x0000000426000000| Untracked 
    |  75|0x0000000426400000, 0x0000000426400000, 0x0000000426800000|  0%| F|  |TAMS 0x0000000426400000, 0x0000000426400000| Untracked 
    |  76|0x0000000426800000, 0x0000000426800000, 0x0000000426c00000|  0%| F|  |TAMS 0x0000000426800000, 0x0000000426800000| Untracked 
    |  77|0x0000000426c00000, 0x0000000426c00000, 0x0000000427000000|  0%| F|  |TAMS 0x0000000426c00000, 0x0000000426c00000| Untracked 
    |  78|0x0000000427000000, 0x0000000427000000, 0x0000000427400000|  0%| F|  |TAMS 0x0000000427000000, 0x0000000427000000| Untracked 
    |  79|0x0000000427400000, 0x0000000427400000, 0x0000000427800000|  0%| F|  |TAMS 0x0000000427400000, 0x0000000427400000| Untracked 
    |  80|0x0000000427800000, 0x0000000427800000, 0x0000000427c00000|  0%| F|  |TAMS 0x0000000427800000, 0x0000000427800000| Untracked 
    |  81|0x0000000427c00000, 0x0000000427c00000, 0x0000000428000000|  0%| F|  |TAMS 0x0000000427c00000, 0x0000000427c00000| Untracked 
    |  82|0x0000000428000000, 0x0000000428000000, 0x0000000428400000|  0%| F|  |TAMS 0x0000000428000000, 0x0000000428000000| Untracked 
    |  83|0x0000000428400000, 0x0000000428400000, 0x0000000428800000|  0%| F|  |TAMS 0x0000000428400000, 0x0000000428400000| Untracked 
    |  84|0x0000000428800000, 0x0000000428800000, 0x0000000428c00000|  0%| F|  |TAMS 0x0000000428800000, 0x0000000428800000| Untracked 
    |  85|0x0000000428c00000, 0x0000000428c00000, 0x0000000429000000|  0%| F|  |TAMS 0x0000000428c00000, 0x0000000428c00000| Untracked 
    |  86|0x0000000429000000, 0x0000000429000000, 0x0000000429400000|  0%| F|  |TAMS 0x0000000429000000, 0x0000000429000000| Untracked 
    |  87|0x0000000429400000, 0x0000000429400000, 0x0000000429800000|  0%| F|  |TAMS 0x0000000429400000, 0x0000000429400000| Untracked 
    |  88|0x0000000429800000, 0x0000000429800000, 0x0000000429c00000|  0%| F|  |TAMS 0x0000000429800000, 0x0000000429800000| Untracked 
    |  89|0x0000000429c00000, 0x0000000429c00000, 0x000000042a000000|  0%| F|  |TAMS 0x0000000429c00000, 0x0000000429c00000| Untracked 
    |  90|0x000000042a000000, 0x000000042a000000, 0x000000042a400000|  0%| F|  |TAMS 0x000000042a000000, 0x000000042a000000| Untracked 
    |  91|0x000000042a400000, 0x000000042a400000, 0x000000042a800000|  0%| F|  |TAMS 0x000000042a400000, 0x000000042a400000| Untracked 
    |  92|0x000000042a800000, 0x000000042a800000, 0x000000042ac00000|  0%| F|  |TAMS 0x000000042a800000, 0x000000042a800000| Untracked 
    |  93|0x000000042ac00000, 0x000000042ac00000, 0x000000042b000000|  0%| F|  |TAMS 0x000000042ac00000, 0x000000042ac00000| Untracked 
    |  94|0x000000042b000000, 0x000000042b000000, 0x000000042b400000|  0%| F|  |TAMS 0x000000042b000000, 0x000000042b000000| Untracked 
    |  95|0x000000042b400000, 0x000000042b400000, 0x000000042b800000|  0%| F|  |TAMS 0x000000042b400000, 0x000000042b400000| Untracked 
    |  96|0x000000042b800000, 0x000000042b800000, 0x000000042bc00000|  0%| F|  |TAMS 0x000000042b800000, 0x000000042b800000| Untracked 
    |  97|0x000000042bc00000, 0x000000042bc00000, 0x000000042c000000|  0%| F|  |TAMS 0x000000042bc00000, 0x000000042bc00000| Untracked 
    |  98|0x000000042c000000, 0x000000042c000000, 0x000000042c400000|  0%| F|  |TAMS 0x000000042c000000, 0x000000042c000000| Untracked 
    |  99|0x000000042c400000, 0x000000042c400000, 0x000000042c800000|  0%| F|  |TAMS 0x000000042c400000, 0x000000042c400000| Untracked 
    | 100|0x000000042c800000, 0x000000042c800000, 0x000000042cc00000|  0%| F|  |TAMS 0x000000042c800000, 0x000000042c800000| Untracked 
    | 101|0x000000042cc00000, 0x000000042cc00000, 0x000000042d000000|  0%| F|  |TAMS 0x000000042cc00000, 0x000000042cc00000| Untracked 
    | 102|0x000000042d000000, 0x000000042d000000, 0x000000042d400000|  0%| F|  |TAMS 0x000000042d000000, 0x000000042d000000| Untracked 
    | 103|0x000000042d400000, 0x000000042d400000, 0x000000042d800000|  0%| F|  |TAMS 0x000000042d400000, 0x000000042d400000| Untracked 
    | 104|0x000000042d800000, 0x000000042d800000, 0x000000042dc00000|  0%| F|  |TAMS 0x000000042d800000, 0x000000042d800000| Untracked 
    | 105|0x000000042dc00000, 0x000000042dc00000, 0x000000042e000000|  0%| F|  |TAMS 0x000000042dc00000, 0x000000042dc00000| Untracked 
    | 106|0x000000042e000000, 0x000000042e000000, 0x000000042e400000|  0%| F|  |TAMS 0x000000042e000000, 0x000000042e000000| Untracked 
    | 107|0x000000042e400000, 0x000000042e400000, 0x000000042e800000|  0%| F|  |TAMS 0x000000042e400000, 0x000000042e400000| Untracked 
    | 108|0x000000042e800000, 0x000000042e800000, 0x000000042ec00000|  0%| F|  |TAMS 0x000000042e800000, 0x000000042e800000| Untracked 
    | 109|0x000000042ec00000, 0x000000042ec00000, 0x000000042f000000|  0%| F|  |TAMS 0x000000042ec00000, 0x000000042ec00000| Untracked 
    | 110|0x000000042f000000, 0x000000042f000000, 0x000000042f400000|  0%| F|  |TAMS 0x000000042f000000, 0x000000042f000000| Untracked 
    | 111|0x000000042f400000, 0x000000042f400000, 0x000000042f800000|  0%| F|  |TAMS 0x000000042f400000, 0x000000042f400000| Untracked 
    | 112|0x000000042f800000, 0x000000042f800000, 0x000000042fc00000|  0%| F|  |TAMS 0x000000042f800000, 0x000000042f800000| Untracked 
    | 113|0x000000042fc00000, 0x000000042fc00000, 0x0000000430000000|  0%| F|  |TAMS 0x000000042fc00000, 0x000000042fc00000| Untracked 
    | 114|0x0000000430000000, 0x0000000430000000, 0x0000000430400000|  0%| F|  |TAMS 0x0000000430000000, 0x0000000430000000| Untracked 
    | 115|0x0000000430400000, 0x0000000430400000, 0x0000000430800000|  0%| F|  |TAMS 0x0000000430400000, 0x0000000430400000| Untracked 
    | 116|0x0000000430800000, 0x0000000430800000, 0x0000000430c00000|  0%| F|  |TAMS 0x0000000430800000, 0x0000000430800000| Untracked 
    | 117|0x0000000430c00000, 0x0000000430c00000, 0x0000000431000000|  0%| F|  |TAMS 0x0000000430c00000, 0x0000000430c00000| Untracked 
    | 118|0x0000000431000000, 0x0000000431000000, 0x0000000431400000|  0%| F|  |TAMS 0x0000000431000000, 0x0000000431000000| Untracked 
    | 119|0x0000000431400000, 0x0000000431400000, 0x0000000431800000|  0%| F|  |TAMS 0x0000000431400000, 0x0000000431400000| Untracked 
    | 120|0x0000000431800000, 0x0000000431800000, 0x0000000431c00000|  0%| F|  |TAMS 0x0000000431800000, 0x0000000431800000| Untracked 
    | 121|0x0000000431c00000, 0x0000000431c00000, 0x0000000432000000|  0%| F|  |TAMS 0x0000000431c00000, 0x0000000431c00000| Untracked 
    | 122|0x0000000432000000, 0x0000000432000000, 0x0000000432400000|  0%| F|  |TAMS 0x0000000432000000, 0x0000000432000000| Untracked 
    | 123|0x0000000432400000, 0x0000000432400000, 0x0000000432800000|  0%| F|  |TAMS 0x0000000432400000, 0x0000000432400000| Untracked 
    | 124|0x0000000432800000, 0x0000000432800000, 0x0000000432c00000|  0%| F|  |TAMS 0x0000000432800000, 0x0000000432800000| Untracked 
    | 125|0x0000000432c00000, 0x0000000432c00000, 0x0000000433000000|  0%| F|  |TAMS 0x0000000432c00000, 0x0000000432c00000| Untracked 
    | 126|0x0000000433000000, 0x0000000433000000, 0x0000000433400000|  0%| F|  |TAMS 0x0000000433000000, 0x0000000433000000| Untracked 
    | 127|0x0000000433400000, 0x0000000433400000, 0x0000000433800000|  0%| F|  |TAMS 0x0000000433400000, 0x0000000433400000| Untracked 
    | 128|0x0000000433800000, 0x0000000433800000, 0x0000000433c00000|  0%| F|  |TAMS 0x0000000433800000, 0x0000000433800000| Untracked 
    | 129|0x0000000433c00000, 0x0000000433c00000, 0x0000000434000000|  0%| F|  |TAMS 0x0000000433c00000, 0x0000000433c00000| Untracked 
    | 130|0x0000000434000000, 0x0000000434000000, 0x0000000434400000|  0%| F|  |TAMS 0x0000000434000000, 0x0000000434000000| Untracked 
    | 131|0x0000000434400000, 0x0000000434400000, 0x0000000434800000|  0%| F|  |TAMS 0x0000000434400000, 0x0000000434400000| Untracked 
    | 132|0x0000000434800000, 0x0000000434800000, 0x0000000434c00000|  0%| F|  |TAMS 0x0000000434800000, 0x0000000434800000| Untracked 
    | 133|0x0000000434c00000, 0x0000000434c00000, 0x0000000435000000|  0%| F|  |TAMS 0x0000000434c00000, 0x0000000434c00000| Untracked 
    | 134|0x0000000435000000, 0x0000000435000000, 0x0000000435400000|  0%| F|  |TAMS 0x0000000435000000, 0x0000000435000000| Untracked 
    | 135|0x0000000435400000, 0x0000000435400000, 0x0000000435800000|  0%| F|  |TAMS 0x0000000435400000, 0x0000000435400000| Untracked 
    | 136|0x0000000435800000, 0x0000000435800000, 0x0000000435c00000|  0%| F|  |TAMS 0x0000000435800000, 0x0000000435800000| Untracked 
    | 137|0x0000000435c00000, 0x0000000435c00000, 0x0000000436000000|  0%| F|  |TAMS 0x0000000435c00000, 0x0000000435c00000| Untracked 
    | 138|0x0000000436000000, 0x0000000436000000, 0x0000000436400000|  0%| F|  |TAMS 0x0000000436000000, 0x0000000436000000| Untracked 
    | 139|0x0000000436400000, 0x0000000436400000, 0x0000000436800000|  0%| F|  |TAMS 0x0000000436400000, 0x0000000436400000| Untracked 
    | 140|0x0000000436800000, 0x0000000436800000, 0x0000000436c00000|  0%| F|  |TAMS 0x0000000436800000, 0x0000000436800000| Untracked 
    | 141|0x0000000436c00000, 0x0000000436c00000, 0x0000000437000000|  0%| F|  |TAMS 0x0000000436c00000, 0x0000000436c00000| Untracked 
    | 142|0x0000000437000000, 0x0000000437000000, 0x0000000437400000|  0%| F|  |TAMS 0x0000000437000000, 0x0000000437000000| Untracked 
    | 143|0x0000000437400000, 0x0000000437400000, 0x0000000437800000|  0%| F|  |TAMS 0x0000000437400000, 0x0000000437400000| Untracked 
    | 144|0x0000000437800000, 0x0000000437800000, 0x0000000437c00000|  0%| F|  |TAMS 0x0000000437800000, 0x0000000437800000| Untracked 
    | 145|0x0000000437c00000, 0x0000000437c00000, 0x0000000438000000|  0%| F|  |TAMS 0x0000000437c00000, 0x0000000437c00000| Untracked 
    | 146|0x0000000438000000, 0x0000000438000000, 0x0000000438400000|  0%| F|  |TAMS 0x0000000438000000, 0x0000000438000000| Untracked 
    | 147|0x0000000438400000, 0x0000000438400000, 0x0000000438800000|  0%| F|  |TAMS 0x0000000438400000, 0x0000000438400000| Untracked 
    | 148|0x0000000438800000, 0x0000000438800000, 0x0000000438c00000|  0%| F|  |TAMS 0x0000000438800000, 0x0000000438800000| Untracked 
    | 149|0x0000000438c00000, 0x0000000438c00000, 0x0000000439000000|  0%| F|  |TAMS 0x0000000438c00000, 0x0000000438c00000| Untracked 
    | 150|0x0000000439000000, 0x0000000439000000, 0x0000000439400000|  0%| F|  |TAMS 0x0000000439000000, 0x0000000439000000| Untracked 
    | 151|0x0000000439400000, 0x0000000439400000, 0x0000000439800000|  0%| F|  |TAMS 0x0000000439400000, 0x0000000439400000| Untracked 
    | 152|0x0000000439800000, 0x0000000439800000, 0x0000000439c00000|  0%| F|  |TAMS 0x0000000439800000, 0x0000000439800000| Untracked 
    | 153|0x0000000439c00000, 0x0000000439c00000, 0x000000043a000000|  0%| F|  |TAMS 0x0000000439c00000, 0x0000000439c00000| Untracked 
    | 154|0x000000043a000000, 0x000000043a000000, 0x000000043a400000|  0%| F|  |TAMS 0x000000043a000000, 0x000000043a000000| Untracked 
    | 155|0x000000043a400000, 0x000000043a400000, 0x000000043a800000|  0%| F|  |TAMS 0x000000043a400000, 0x000000043a400000| Untracked 
    | 156|0x000000043a800000, 0x000000043a800000, 0x000000043ac00000|  0%| F|  |TAMS 0x000000043a800000, 0x000000043a800000| Untracked 
    | 157|0x000000043ac00000, 0x000000043ac00000, 0x000000043b000000|  0%| F|  |TAMS 0x000000043ac00000, 0x000000043ac00000| Untracked 
    | 158|0x000000043b000000, 0x000000043b000000, 0x000000043b400000|  0%| F|  |TAMS 0x000000043b000000, 0x000000043b000000| Untracked 
    | 159|0x000000043b400000, 0x000000043b400000, 0x000000043b800000|  0%| F|  |TAMS 0x000000043b400000, 0x000000043b400000| Untracked 
    | 160|0x000000043b800000, 0x000000043b800000, 0x000000043bc00000|  0%| F|  |TAMS 0x000000043b800000, 0x000000043b800000| Untracked 
    | 161|0x000000043bc00000, 0x000000043bc00000, 0x000000043c000000|  0%| F|  |TAMS 0x000000043bc00000, 0x000000043bc00000| Untracked 
    | 162|0x000000043c000000, 0x000000043c000000, 0x000000043c400000|  0%| F|  |TAMS 0x000000043c000000, 0x000000043c000000| Untracked 
    | 163|0x000000043c400000, 0x000000043c400000, 0x000000043c800000|  0%| F|  |TAMS 0x000000043c400000, 0x000000043c400000| Untracked 
    | 164|0x000000043c800000, 0x000000043c800000, 0x000000043cc00000|  0%| F|  |TAMS 0x000000043c800000, 0x000000043c800000| Untracked 
    | 165|0x000000043cc00000, 0x000000043cc00000, 0x000000043d000000|  0%| F|  |TAMS 0x000000043cc00000, 0x000000043cc00000| Untracked 
    | 166|0x000000043d000000, 0x000000043d000000, 0x000000043d400000|  0%| F|  |TAMS 0x000000043d000000, 0x000000043d000000| Untracked 
    | 167|0x000000043d400000, 0x000000043d400000, 0x000000043d800000|  0%| F|  |TAMS 0x000000043d400000, 0x000000043d400000| Untracked 
    | 168|0x000000043d800000, 0x000000043d800000, 0x000000043dc00000|  0%| F|  |TAMS 0x000000043d800000, 0x000000043d800000| Untracked 
    | 169|0x000000043dc00000, 0x000000043dc00000, 0x000000043e000000|  0%| F|  |TAMS 0x000000043dc00000, 0x000000043dc00000| Untracked 
    | 170|0x000000043e000000, 0x000000043e000000, 0x000000043e400000|  0%| F|  |TAMS 0x000000043e000000, 0x000000043e000000| Untracked 
    | 171|0x000000043e400000, 0x000000043e400000, 0x000000043e800000|  0%| F|  |TAMS 0x000000043e400000, 0x000000043e400000| Untracked 
    | 172|0x000000043e800000, 0x000000043e800000, 0x000000043ec00000|  0%| F|  |TAMS 0x000000043e800000, 0x000000043e800000| Untracked 
    | 173|0x000000043ec00000, 0x000000043ec00000, 0x000000043f000000|  0%| F|  |TAMS 0x000000043ec00000, 0x000000043ec00000| Untracked 
    | 174|0x000000043f000000, 0x000000043f000000, 0x000000043f400000|  0%| F|  |TAMS 0x000000043f000000, 0x000000043f000000| Untracked 
    | 175|0x000000043f400000, 0x000000043f400000, 0x000000043f800000|  0%| F|  |TAMS 0x000000043f400000, 0x000000043f400000| Untracked 
    | 176|0x000000043f800000, 0x000000043f800000, 0x000000043fc00000|  0%| F|  |TAMS 0x000000043f800000, 0x000000043f800000| Untracked 
    | 177|0x000000043fc00000, 0x000000043fc00000, 0x0000000440000000|  0%| F|  |TAMS 0x000000043fc00000, 0x000000043fc00000| Untracked 
    | 178|0x0000000440000000, 0x0000000440000000, 0x0000000440400000|  0%| F|  |TAMS 0x0000000440000000, 0x0000000440000000| Untracked 
    | 179|0x0000000440400000, 0x0000000440400000, 0x0000000440800000|  0%| F|  |TAMS 0x0000000440400000, 0x0000000440400000| Untracked 
    | 180|0x0000000440800000, 0x0000000440800000, 0x0000000440c00000|  0%| F|  |TAMS 0x0000000440800000, 0x0000000440800000| Untracked 
    | 181|0x0000000440c00000, 0x0000000440c00000, 0x0000000441000000|  0%| F|  |TAMS 0x0000000440c00000, 0x0000000440c00000| Untracked 
    | 182|0x0000000441000000, 0x0000000441000000, 0x0000000441400000|  0%| F|  |TAMS 0x0000000441000000, 0x0000000441000000| Untracked 
    | 183|0x0000000441400000, 0x0000000441400000, 0x0000000441800000|  0%| F|  |TAMS 0x0000000441400000, 0x0000000441400000| Untracked 
    | 184|0x0000000441800000, 0x0000000441800000, 0x0000000441c00000|  0%| F|  |TAMS 0x0000000441800000, 0x0000000441800000| Untracked 
    | 185|0x0000000441c00000, 0x0000000441c00000, 0x0000000442000000|  0%| F|  |TAMS 0x0000000441c00000, 0x0000000441c00000| Untracked 
    | 186|0x0000000442000000, 0x0000000442000000, 0x0000000442400000|  0%| F|  |TAMS 0x0000000442000000, 0x0000000442000000| Untracked 
    | 187|0x0000000442400000, 0x0000000442400000, 0x0000000442800000|  0%| F|  |TAMS 0x0000000442400000, 0x0000000442400000| Untracked 
    | 188|0x0000000442800000, 0x0000000442800000, 0x0000000442c00000|  0%| F|  |TAMS 0x0000000442800000, 0x0000000442800000| Untracked 
    | 189|0x0000000442c00000, 0x0000000442c00000, 0x0000000443000000|  0%| F|  |TAMS 0x0000000442c00000, 0x0000000442c00000| Untracked 
    | 190|0x0000000443000000, 0x0000000443000000, 0x0000000443400000|  0%| F|  |TAMS 0x0000000443000000, 0x0000000443000000| Untracked 
    | 191|0x0000000443400000, 0x0000000443400000, 0x0000000443800000|  0%| F|  |TAMS 0x0000000443400000, 0x0000000443400000| Untracked 
    | 192|0x0000000443800000, 0x0000000443800000, 0x0000000443c00000|  0%| F|  |TAMS 0x0000000443800000, 0x0000000443800000| Untracked 
    | 193|0x0000000443c00000, 0x0000000443c00000, 0x0000000444000000|  0%| F|  |TAMS 0x0000000443c00000, 0x0000000443c00000| Untracked 
    | 194|0x0000000444000000, 0x0000000444000000, 0x0000000444400000|  0%| F|  |TAMS 0x0000000444000000, 0x0000000444000000| Untracked 
    | 195|0x0000000444400000, 0x0000000444400000, 0x0000000444800000|  0%| F|  |TAMS 0x0000000444400000, 0x0000000444400000| Untracked 
    | 196|0x0000000444800000, 0x0000000444800000, 0x0000000444c00000|  0%| F|  |TAMS 0x0000000444800000, 0x0000000444800000| Untracked 
    | 197|0x0000000444c00000, 0x0000000444c00000, 0x0000000445000000|  0%| F|  |TAMS 0x0000000444c00000, 0x0000000444c00000| Untracked 
    | 198|0x0000000445000000, 0x0000000445000000, 0x0000000445400000|  0%| F|  |TAMS 0x0000000445000000, 0x0000000445000000| Untracked 
    | 199|0x0000000445400000, 0x0000000445400000, 0x0000000445800000|  0%| F|  |TAMS 0x0000000445400000, 0x0000000445400000| Untracked 
    | 200|0x0000000445800000, 0x0000000445800000, 0x0000000445c00000|  0%| F|  |TAMS 0x0000000445800000, 0x0000000445800000| Untracked 
    | 201|0x0000000445c00000, 0x0000000445c00000, 0x0000000446000000|  0%| F|  |TAMS 0x0000000445c00000, 0x0000000445c00000| Untracked 
    | 202|0x0000000446000000, 0x0000000446000000, 0x0000000446400000|  0%| F|  |TAMS 0x0000000446000000, 0x0000000446000000| Untracked 
    | 203|0x0000000446400000, 0x0000000446400000, 0x0000000446800000|  0%| F|  |TAMS 0x0000000446400000, 0x0000000446400000| Untracked 
    | 204|0x0000000446800000, 0x0000000446800000, 0x0000000446c00000|  0%| F|  |TAMS 0x0000000446800000, 0x0000000446800000| Untracked 
    | 205|0x0000000446c00000, 0x0000000446c00000, 0x0000000447000000|  0%| F|  |TAMS 0x0000000446c00000, 0x0000000446c00000| Untracked 
    | 206|0x0000000447000000, 0x0000000447000000, 0x0000000447400000|  0%| F|  |TAMS 0x0000000447000000, 0x0000000447000000| Untracked 
    | 207|0x0000000447400000, 0x0000000447400000, 0x0000000447800000|  0%| F|  |TAMS 0x0000000447400000, 0x0000000447400000| Untracked 
    | 208|0x0000000447800000, 0x0000000447800000, 0x0000000447c00000|  0%| F|  |TAMS 0x0000000447800000, 0x0000000447800000| Untracked 
    | 209|0x0000000447c00000, 0x0000000447c00000, 0x0000000448000000|  0%| F|  |TAMS 0x0000000447c00000, 0x0000000447c00000| Untracked 
    | 210|0x0000000448000000, 0x0000000448000000, 0x0000000448400000|  0%| F|  |TAMS 0x0000000448000000, 0x0000000448000000| Untracked 
    | 211|0x0000000448400000, 0x0000000448400000, 0x0000000448800000|  0%| F|  |TAMS 0x0000000448400000, 0x0000000448400000| Untracked 
    | 212|0x0000000448800000, 0x0000000448800000, 0x0000000448c00000|  0%| F|  |TAMS 0x0000000448800000, 0x0000000448800000| Untracked 
    | 213|0x0000000448c00000, 0x0000000448c00000, 0x0000000449000000|  0%| F|  |TAMS 0x0000000448c00000, 0x0000000448c00000| Untracked 
    | 214|0x0000000449000000, 0x0000000449000000, 0x0000000449400000|  0%| F|  |TAMS 0x0000000449000000, 0x0000000449000000| Untracked 
    | 215|0x0000000449400000, 0x0000000449400000, 0x0000000449800000|  0%| F|  |TAMS 0x0000000449400000, 0x0000000449400000| Untracked 
    | 216|0x0000000449800000, 0x0000000449800000, 0x0000000449c00000|  0%| F|  |TAMS 0x0000000449800000, 0x0000000449800000| Untracked 
    | 217|0x0000000449c00000, 0x0000000449c00000, 0x000000044a000000|  0%| F|  |TAMS 0x0000000449c00000, 0x0000000449c00000| Untracked 
    | 218|0x000000044a000000, 0x000000044a000000, 0x000000044a400000|  0%| F|  |TAMS 0x000000044a000000, 0x000000044a000000| Untracked 
    | 219|0x000000044a400000, 0x000000044a400000, 0x000000044a800000|  0%| F|  |TAMS 0x000000044a400000, 0x000000044a400000| Untracked 
    | 220|0x000000044a800000, 0x000000044a800000, 0x000000044ac00000|  0%| F|  |TAMS 0x000000044a800000, 0x000000044a800000| Untracked 
    | 221|0x000000044ac00000, 0x000000044ac00000, 0x000000044b000000|  0%| F|  |TAMS 0x000000044ac00000, 0x000000044ac00000| Untracked 
    | 222|0x000000044b000000, 0x000000044b000000, 0x000000044b400000|  0%| F|  |TAMS 0x000000044b000000, 0x000000044b000000| Untracked 
    | 223|0x000000044b400000, 0x000000044b400000, 0x000000044b800000|  0%| F|  |TAMS 0x000000044b400000, 0x000000044b400000| Untracked 
    | 224|0x000000044b800000, 0x000000044b800000, 0x000000044bc00000|  0%| F|  |TAMS 0x000000044b800000, 0x000000044b800000| Untracked 
    | 225|0x000000044bc00000, 0x000000044bc00000, 0x000000044c000000|  0%| F|  |TAMS 0x000000044bc00000, 0x000000044bc00000| Untracked 
    | 226|0x000000044c000000, 0x000000044c000000, 0x000000044c400000|  0%| F|  |TAMS 0x000000044c000000, 0x000000044c000000| Untracked 
    | 227|0x000000044c400000, 0x000000044c400000, 0x000000044c800000|  0%| F|  |TAMS 0x000000044c400000, 0x000000044c400000| Untracked 
    | 228|0x000000044c800000, 0x000000044c800000, 0x000000044cc00000|  0%| F|  |TAMS 0x000000044c800000, 0x000000044c800000| Untracked 
    | 229|0x000000044cc00000, 0x000000044cc00000, 0x000000044d000000|  0%| F|  |TAMS 0x000000044cc00000, 0x000000044cc00000| Untracked 
    | 230|0x000000044d000000, 0x000000044d000000, 0x000000044d400000|  0%| F|  |TAMS 0x000000044d000000, 0x000000044d000000| Untracked 
    | 231|0x000000044d400000, 0x000000044d400000, 0x000000044d800000|  0%| F|  |TAMS 0x000000044d400000, 0x000000044d400000| Untracked 
    | 232|0x000000044d800000, 0x000000044d800000, 0x000000044dc00000|  0%| F|  |TAMS 0x000000044d800000, 0x000000044d800000| Untracked 
    | 233|0x000000044dc00000, 0x000000044dc00000, 0x000000044e000000|  0%| F|  |TAMS 0x000000044dc00000, 0x000000044dc00000| Untracked 
    | 234|0x000000044e000000, 0x000000044e000000, 0x000000044e400000|  0%| F|  |TAMS 0x000000044e000000, 0x000000044e000000| Untracked 
    | 235|0x000000044e400000, 0x000000044e400000, 0x000000044e800000|  0%| F|  |TAMS 0x000000044e400000, 0x000000044e400000| Untracked 
    | 236|0x000000044e800000, 0x000000044e800000, 0x000000044ec00000|  0%| F|  |TAMS 0x000000044e800000, 0x000000044e800000| Untracked 
    | 237|0x000000044ec00000, 0x000000044ec00000, 0x000000044f000000|  0%| F|  |TAMS 0x000000044ec00000, 0x000000044ec00000| Untracked 
    | 238|0x000000044f000000, 0x000000044f000000, 0x000000044f400000|  0%| F|  |TAMS 0x000000044f000000, 0x000000044f000000| Untracked 
    | 239|0x000000044f400000, 0x000000044f400000, 0x000000044f800000|  0%| F|  |TAMS 0x000000044f400000, 0x000000044f400000| Untracked 
    | 240|0x000000044f800000, 0x000000044f800000, 0x000000044fc00000|  0%| F|  |TAMS 0x000000044f800000, 0x000000044f800000| Untracked 
    | 241|0x000000044fc00000, 0x000000044fc00000, 0x0000000450000000|  0%| F|  |TAMS 0x000000044fc00000, 0x000000044fc00000| Untracked 
    | 242|0x0000000450000000, 0x0000000450000000, 0x0000000450400000|  0%| F|  |TAMS 0x0000000450000000, 0x0000000450000000| Untracked 
    | 243|0x0000000450400000, 0x0000000450400000, 0x0000000450800000|  0%| F|  |TAMS 0x0000000450400000, 0x0000000450400000| Untracked 
    | 244|0x0000000450800000, 0x0000000450800000, 0x0000000450c00000|  0%| F|  |TAMS 0x0000000450800000, 0x0000000450800000| Untracked 
    | 245|0x0000000450c00000, 0x0000000450ef9550, 0x0000000451000000| 74%| E|  |TAMS 0x0000000450c00000, 0x0000000450c00000| Complete 
    | 246|0x0000000451000000, 0x0000000451400000, 0x0000000451400000|100%| E|CS|TAMS 0x0000000451000000, 0x0000000451000000| Complete 
    | 247|0x0000000451400000, 0x0000000451800000, 0x0000000451800000|100%| E|CS|TAMS 0x0000000451400000, 0x0000000451400000| Complete 
    | 248|0x0000000451800000, 0x0000000451c00000, 0x0000000451c00000|100%| E|  |TAMS 0x0000000451800000, 0x0000000451800000| Complete 
    | 249|0x0000000451c00000, 0x0000000452000000, 0x0000000452000000|100%| E|CS|TAMS 0x0000000451c00000, 0x0000000451c00000| Complete 
    | 250|0x0000000452000000, 0x0000000452400000, 0x0000000452400000|100%| E|CS|TAMS 0x0000000452000000, 0x0000000452000000| Complete 
    | 251|0x0000000452400000, 0x0000000452800000, 0x0000000452800000|100%| E|CS|TAMS 0x0000000452400000, 0x0000000452400000| Complete 
    
    Card table byte_map: [0x00007fdd60138000,0x00007fdd6209c000] _byte_map_base: 0x00007fdd5e09c000
    
    Marking Bits (Prev, Next): (CMBitMap*) 0x00007fdd80072b58, (CMBitMap*) 0x00007fdd80072b90
     Prev Bits: [0x00007fdd4e6b4000, 0x00007fdd5e1d4000)
     Next Bits: [0x00007fdd3eb94000, 0x00007fdd4e6b4000)
    
    Polling page: 0x00007fdd89527000
    
    Metaspace:
    
    Usage:
      Non-class:      9.07 MB capacity,     8.95 MB ( 99%) used,   120.12 KB (  1%) free+waste,     8.06 KB ( <1%) overhead. 
          Class:    874.00 KB capacity,   816.66 KB ( 93%) used,    54.28 KB (  6%) free+waste,     3.06 KB ( <1%) overhead. 
           Both:      9.92 MB capacity,     9.74 MB ( 98%) used,   174.41 KB (  2%) free+waste,    11.12 KB ( <1%) overhead. 
    
    Virtual space:
      Non-class space:       10.00 MB reserved,       9.25 MB ( 92%) committed 
          Class space:        1.00 GB reserved,     896.00 KB ( <1%) committed 
                 Both:        1.01 GB reserved,      10.12 MB ( <1%) committed 
    
    Chunk freelists:
       Non-Class:  60.00 KB
           Class:  22.00 KB
            Both:  82.00 KB
    
    MaxMetaspaceSize: unlimited
    CompressedClassSpaceSize: 1.00 GB
    
    CodeHeap 'non-profiled nmethods': size=120032Kb used=207Kb max_used=207Kb free=119824Kb
     bounds [0x00007fdd70361000, 0x00007fdd705d1000, 0x00007fdd77899000]
    CodeHeap 'profiled nmethods': size=120028Kb used=1094Kb max_used=1094Kb free=118933Kb
     bounds [0x00007fdd68e2a000, 0x00007fdd6909a000, 0x00007fdd70361000]
    CodeHeap 'non-nmethods': size=5700Kb used=1067Kb max_used=1083Kb free=4632Kb
     bounds [0x00007fdd68899000, 0x00007fdd68b09000, 0x00007fdd68e2a000]
     total_blobs=1023 nmethods=642 adapters=294
     compilation: enabled
                  stopped_count=0, restarted_count=0
     full_count=0
    
    Compilation events (20 events):
    Event: 0.368 Thread 0x00007fdd802ff800  630       3       java.util.zip.ZipFile$Source::getEntryPos (9 bytes)
    Event: 0.368 Thread 0x00007fdd802ff800 nmethod 630 0x00007fdd68f32190 code [0x00007fdd68f32340, 0x00007fdd68f32470]
    Event: 0.368 Thread 0x00007fdd802ff800  631  s    3       jdk.internal.perf.PerfCounter::add (18 bytes)
    Event: 0.368 Thread 0x00007fdd10260800  633       4       java.lang.StringCoding::encodeUTF8 (132 bytes)
    Event: 0.368 Thread 0x00007fdd802fd800  634   !   4       java.util.zip.ZipFile::getEntry (73 bytes)
    Event: 0.368 Thread 0x00007fdd802ff800 nmethod 631 0x00007fdd68f32590 code [0x00007fdd68f32780, 0x00007fdd68f32df0]
    Event: 0.368 Thread 0x00007fdd802ff800  632  s    3       jdk.internal.perf.PerfCounter::get (9 bytes)
    Event: 0.368 Thread 0x00007fdd802ff800 nmethod 632 0x00007fdd68f32f90 code [0x00007fdd68f33160, 0x00007fdd68f334c0]
    Event: 0.368 Thread 0x00007fdd802ff800  635   !   3       java.util.concurrent.ConcurrentHashMap::computeIfAbsent (576 bytes)
    Event: 0.369 Thread 0x00007fdd1002f000  636       4       java.util.zip.ZipCoder$UTF8::getBytes (10 bytes)
    Event: 0.371 Thread 0x00007fdd10260800 nmethod 633 0x00007fdd70392610 code [0x00007fdd703927a0, 0x00007fdd703929b8]
    Event: 0.372 Thread 0x00007fdd1002f000 nmethod 636 0x00007fdd70392b10 code [0x00007fdd70392cc0, 0x00007fdd70392f18]
    Event: 0.373 Thread 0x00007fdd802ff800 nmethod 635 0x00007fdd68f33590 code [0x00007fdd68f33a00, 0x00007fdd68f367e0]
    Event: 0.373 Thread 0x00007fdd802ff800  637       3       java.util.ArrayDeque::poll (5 bytes)
    Event: 0.373 Thread 0x00007fdd802ff800 nmethod 637 0x00007fdd68f37990 code [0x00007fdd68f37b40, 0x00007fdd68f37c80]
    Event: 0.373 Thread 0x00007fdd802ff800  639       3       sun.net.www.protocol.jar.Handler::checkNestedProtocol (18 bytes)
    Event: 0.373 Thread 0x00007fdd802ff800 nmethod 639 0x00007fdd68f37d10 code [0x00007fdd68f37ee0, 0x00007fdd68f380a0]
    Event: 0.373 Thread 0x00007fdd802ff800  640  s    3       jdk.internal.loader.Resource::cachedInputStream (20 bytes)
    Event: 0.373 Thread 0x00007fdd802ff800 nmethod 640 0x00007fdd68f38190 code [0x00007fdd68f38360, 0x00007fdd68f38760]
    Event: 0.374 Thread 0x00007fdd802ff800  642       3       java.util.jar.JarFile::getVersionedEntry (85 bytes)
    
    GC Heap History (0 events):
    No events
    
    Deoptimization events (20 events):
    Event: 0.362 Thread 0x00007fdd8002e000 Uncommon trap: trap_request=0xffffffde fr.pc=0x00007fdd70389594 relative=0x0000000000000074
    Event: 0.362 Thread 0x00007fdd8002e000 Uncommon trap: reason=class_check action=maybe_recompile pc=0x00007fdd70389594 method=java.util.Collections$UnmodifiableCollection$1.hasNext()Z @ 4 c2
    Event: 0.362 Thread 0x00007fdd8002e000 DEOPT PACKING pc=0x00007fdd70389594 sp=0x00007fdd894db4f0
    Event: 0.362 Thread 0x00007fdd8002e000 DEOPT UNPACKING pc=0x00007fdd688bf7a5 sp=0x00007fdd894db4a0 mode 2
    Event: 0.362 Thread 0x00007fdd8002e000 Uncommon trap: trap_request=0xffffffde fr.pc=0x00007fdd7038ac64 relative=0x0000000000000324
    Event: 0.362 Thread 0x00007fdd8002e000 Uncommon trap: reason=class_check action=maybe_recompile pc=0x00007fdd7038ac64 method=java.util.Collections$UnmodifiableCollection$1.next()Ljava/lang/Object; @ 4 c2
    Event: 0.362 Thread 0x00007fdd8002e000 DEOPT PACKING pc=0x00007fdd7038ac64 sp=0x00007fdd894db4d0
    Event: 0.362 Thread 0x00007fdd8002e000 DEOPT UNPACKING pc=0x00007fdd688bf7a5 sp=0x00007fdd894db4a0 mode 2
    Event: 0.362 Thread 0x00007fdd8002e000 Uncommon trap: trap_request=0xffffffde fr.pc=0x00007fdd70389594 relative=0x0000000000000074
    Event: 0.362 Thread 0x00007fdd8002e000 Uncommon trap: reason=class_check action=maybe_recompile pc=0x00007fdd70389594 method=java.util.Collections$UnmodifiableCollection$1.hasNext()Z @ 4 c2
    Event: 0.362 Thread 0x00007fdd8002e000 DEOPT PACKING pc=0x00007fdd70389594 sp=0x00007fdd894db4f0
    Event: 0.362 Thread 0x00007fdd8002e000 DEOPT UNPACKING pc=0x00007fdd688bf7a5 sp=0x00007fdd894db4a0 mode 2
    Event: 0.362 Thread 0x00007fdd8002e000 Uncommon trap: trap_request=0xffffffde fr.pc=0x00007fdd7038ac64 relative=0x0000000000000324
    Event: 0.362 Thread 0x00007fdd8002e000 Uncommon trap: reason=class_check action=maybe_recompile pc=0x00007fdd7038ac64 method=java.util.Collections$UnmodifiableCollection$1.next()Ljava/lang/Object; @ 4 c2
    Event: 0.362 Thread 0x00007fdd8002e000 DEOPT PACKING pc=0x00007fdd7038ac64 sp=0x00007fdd894db4d0
    Event: 0.362 Thread 0x00007fdd8002e000 DEOPT UNPACKING pc=0x00007fdd688bf7a5 sp=0x00007fdd894db4a0 mode 2
    Event: 0.362 Thread 0x00007fdd8002e000 Uncommon trap: trap_request=0xffffffde fr.pc=0x00007fdd70389594 relative=0x0000000000000074
    Event: 0.362 Thread 0x00007fdd8002e000 Uncommon trap: reason=class_check action=maybe_recompile pc=0x00007fdd70389594 method=java.util.Collections$UnmodifiableCollection$1.hasNext()Z @ 4 c2
    Event: 0.362 Thread 0x00007fdd8002e000 DEOPT PACKING pc=0x00007fdd70389594 sp=0x00007fdd894db4f0
    Event: 0.362 Thread 0x00007fdd8002e000 DEOPT UNPACKING pc=0x00007fdd688bf7a5 sp=0x00007fdd894db4a0 mode 2
    
    Classes redefined (0 events):
    No events
    
    Internal exceptions (20 events):
    Event: 0.163 Thread 0x00007fdd8002e000 Exception <a 'java/security/PrivilegedActionException'{0x0000000452101ad8}> (0x0000000452101ad8) thrown at [./src/hotspot/share/prims/jvm.cpp, line 1305]
    Event: 0.163 Thread 0x00007fdd8002e000 Exception <a 'java/security/PrivilegedActionException'{0x00000004521027a8}> (0x00000004521027a8) thrown at [./src/hotspot/share/prims/jvm.cpp, line 1305]
    Event: 0.163 Thread 0x00007fdd8002e000 Exception <a 'java/security/PrivilegedActionException'{0x0000000452102a78}> (0x0000000452102a78) thrown at [./src/hotspot/share/prims/jvm.cpp, line 1305]
    Event: 0.163 Thread 0x00007fdd8002e000 Exception <a 'java/security/PrivilegedActionException'{0x0000000452103760}> (0x0000000452103760) thrown at [./src/hotspot/share/prims/jvm.cpp, line 1305]
    Event: 0.163 Thread 0x00007fdd8002e000 Exception <a 'java/security/PrivilegedActionException'{0x0000000452103a30}> (0x0000000452103a30) thrown at [./src/hotspot/share/prims/jvm.cpp, line 1305]
    Event: 0.163 Thread 0x00007fdd8002e000 Exception <a 'java/security/PrivilegedActionException'{0x00000004521046d8}> (0x00000004521046d8) thrown at [./src/hotspot/share/prims/jvm.cpp, line 1305]
    Event: 0.163 Thread 0x00007fdd8002e000 Exception <a 'java/security/PrivilegedActionException'{0x00000004521049a8}> (0x00000004521049a8) thrown at [./src/hotspot/share/prims/jvm.cpp, line 1305]
    Event: 0.163 Thread 0x00007fdd8002e000 Exception <a 'java/security/PrivilegedActionException'{0x0000000452105670}> (0x0000000452105670) thrown at [./src/hotspot/share/prims/jvm.cpp, line 1305]
    Event: 0.163 Thread 0x00007fdd8002e000 Exception <a 'java/security/PrivilegedActionException'{0x0000000452105940}> (0x0000000452105940) thrown at [./src/hotspot/share/prims/jvm.cpp, line 1305]
    Event: 0.163 Thread 0x00007fdd8002e000 Exception <a 'java/security/PrivilegedActionException'{0x0000000452106610}> (0x0000000452106610) thrown at [./src/hotspot/share/prims/jvm.cpp, line 1305]
    Event: 0.163 Thread 0x00007fdd8002e000 Exception <a 'java/security/PrivilegedActionException'{0x00000004521068e0}> (0x00000004521068e0) thrown at [./src/hotspot/share/prims/jvm.cpp, line 1305]
    Event: 0.163 Thread 0x00007fdd8002e000 Exception <a 'java/security/PrivilegedActionException'{0x00000004521075c8}> (0x00000004521075c8) thrown at [./src/hotspot/share/prims/jvm.cpp, line 1305]
    Event: 0.164 Thread 0x00007fdd8002e000 Exception <a 'java/security/PrivilegedActionException'{0x0000000452107898}> (0x0000000452107898) thrown at [./src/hotspot/share/prims/jvm.cpp, line 1305]
    Event: 0.164 Thread 0x00007fdd8002e000 Exception <a 'java/security/PrivilegedActionException'{0x0000000452108560}> (0x0000000452108560) thrown at [./src/hotspot/share/prims/jvm.cpp, line 1305]
    Event: 0.164 Thread 0x00007fdd8002e000 Exception <a 'java/security/PrivilegedActionException'{0x0000000452108830}> (0x0000000452108830) thrown at [./src/hotspot/share/prims/jvm.cpp, line 1305]
    Event: 0.169 Thread 0x00007fdd8002e000 Exception <a 'java/security/PrivilegedActionException'{0x0000000452187ee0}> (0x0000000452187ee0) thrown at [./src/hotspot/share/prims/jvm.cpp, line 1305]
    Event: 0.169 Thread 0x00007fdd8002e000 Exception <a 'java/security/PrivilegedActionException'{0x00000004521881b0}> (0x00000004521881b0) thrown at [./src/hotspot/share/prims/jvm.cpp, line 1305]
    Event: 0.251 Thread 0x00007fdd8002e000 Exception <a 'java/lang/NoSuchMethodError'{0x0000000451b97148}: 'long java.lang.invoke.DirectMethodHandle$Holder.invokeStatic(java.lang.Object, long, long)'> (0x0000000451b97148) thrown at [./src/hotspot/share/interpreter/linkResolver.cpp, line 773]
    Event: 0.253 Thread 0x00007fdd8002e000 Exception <a 'java/lang/NoSuchMethodError'{0x0000000451ba8880}: 'java.lang.Object java.lang.invoke.Invokers$Holder.linkToTargetMethod(java.lang.Object, long, java.lang.Object)'> (0x0000000451ba8880) thrown at [./src/hotspot/share/interpreter/linkResolver.cpp, line 773]
    Event: 0.363 Thread 0x00007fdd8002e000 Exception <a 'sun/nio/fs/UnixException'{0x0000000450df5178}> (0x0000000450df5178) thrown at [./src/hotspot/share/prims/jni.cpp, line 615]
    
    Events (20 events):
    Event: 0.370 loading class org/jetbrains/kotlinx/multik/default/DefaultLinAlg
    Event: 0.370 loading class org/jetbrains/kotlinx/multik/default/DefaultLinAlg done
    Event: 0.370 loading class org/jetbrains/kotlinx/multik/api/LinAlg
    Event: 0.370 loading class org/jetbrains/kotlinx/multik/api/LinAlg done
    Event: 0.371 loading class edu/mcgill/markovian/mcmc/MarkovChain$sample$1$1$1
    Event: 0.371 loading class edu/mcgill/markovian/mcmc/MarkovChain$sample$1$1$1 done
    Event: 0.371 loading class org/jetbrains/kotlinx/multik/ndarray/data/D1
    Event: 0.371 loading class org/jetbrains/kotlinx/multik/ndarray/data/D1 done
    Event: 0.371 loading class org/jetbrains/kotlinx/multik/ndarray/data/Dim1
    Event: 0.371 loading class org/jetbrains/kotlinx/multik/ndarray/data/Dim1 done
    Event: 0.371 loading class org/jetbrains/kotlinx/multik/ndarray/data/D1$Companion
    Event: 0.371 loading class org/jetbrains/kotlinx/multik/ndarray/data/D1$Companion done
    Event: 0.372 loading class org/jetbrains/kotlinx/multik/default/DefaultLinAlg$WhenMappings
    Event: 0.372 loading class org/jetbrains/kotlinx/multik/default/DefaultLinAlg$WhenMappings done
    Event: 0.372 loading class org/jetbrains/kotlinx/multik/jni/NativeLinAlg
    Event: 0.372 loading class org/jetbrains/kotlinx/multik/jni/NativeLinAlg done
    Event: 0.373 loading class org/jetbrains/kotlinx/multik/jni/NativeLinAlg$WhenMappings
    Event: 0.373 loading class org/jetbrains/kotlinx/multik/jni/NativeLinAlg$WhenMappings done
    Event: 0.373 loading class org/jetbrains/kotlinx/multik/jni/JniLinAlg
    Event: 0.373 loading class org/jetbrains/kotlinx/multik/jni/JniLinAlg done
    
    
    Dynamic libraries:
    413800000-452800000 rw-p 00000000 00:00 0 
    452800000-800000000 ---p 00000000 00:00 0 
    800000000-8000e0000 rw-p 00000000 00:00 0 
    8000e0000-840000000 ---p 00000000 00:00 0 
    562581ccc000-562581ccd000 r-xp 00000000 08:02 14972428                   /usr/lib/jvm/jdk-11.0.9+11/bin/java
    562581ecd000-562581ece000 r--p 00001000 08:02 14972428                   /usr/lib/jvm/jdk-11.0.9+11/bin/java
    562581ece000-562581ecf000 rw-p 00002000 08:02 14972428                   /usr/lib/jvm/jdk-11.0.9+11/bin/java
    562581f0c000-562581f2d000 rw-p 00000000 00:00 0                          [heap]
    7fdcdc000000-7fdcf4000000 rw-p 00000000 00:00 0 
    7fdcf4000000-7fdcf4021000 rw-p 00000000 00:00 0 
    7fdcf4021000-7fdcf8000000 ---p 00000000 00:00 0 
    7fdcf8000000-7fdcf803b000 rw-p 00000000 00:00 0 
    7fdcf803b000-7fdcfc000000 ---p 00000000 00:00 0 
    7fdcfc000000-7fdcfc021000 rw-p 00000000 00:00 0 
    7fdcfc021000-7fdd00000000 ---p 00000000 00:00 0 
    7fdd00000000-7fdd00021000 rw-p 00000000 00:00 0 
    7fdd00021000-7fdd04000000 ---p 00000000 00:00 0 
    7fdd04000000-7fdd0424d000 rw-p 00000000 00:00 0 
    7fdd0424d000-7fdd08000000 ---p 00000000 00:00 0 
    7fdd08000000-7fdd08021000 rw-p 00000000 00:00 0 
    7fdd08021000-7fdd0c000000 ---p 00000000 00:00 0 
    7fdd0d2f9000-7fdd0d2fa000 ---p 00000000 00:00 0 
    7fdd0d2fa000-7fdd0dafa000 rw-p 00000000 00:00 0 
    7fdd0dafa000-7fdd0dafb000 ---p 00000000 00:00 0 
    7fdd0dafb000-7fdd0e2fb000 rw-p 00000000 00:00 0 
    7fdd0e2fb000-7fdd0e2fc000 ---p 00000000 00:00 0 
    7fdd0e2fc000-7fdd0eafc000 rw-p 00000000 00:00 0 
    7fdd0eafc000-7fdd0eb13000 r-xp 00000000 08:02 10225623                   /lib/x86_64-linux-gnu/libgcc_s.so.1
    7fdd0eb13000-7fdd0ed12000 ---p 00017000 08:02 10225623                   /lib/x86_64-linux-gnu/libgcc_s.so.1
    7fdd0ed12000-7fdd0ed13000 r--p 00016000 08:02 10225623                   /lib/x86_64-linux-gnu/libgcc_s.so.1
    7fdd0ed13000-7fdd0ed14000 rw-p 00017000 08:02 10225623                   /lib/x86_64-linux-gnu/libgcc_s.so.1
    7fdd0ed14000-7fdd0ee8d000 r-xp 00000000 08:02 1838560                    /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25
    7fdd0ee8d000-7fdd0f08d000 ---p 00179000 08:02 1838560                    /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25
    7fdd0f08d000-7fdd0f097000 r--p 00179000 08:02 1838560                    /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25
    7fdd0f097000-7fdd0f099000 rw-p 00183000 08:02 1838560                    /usr/lib/x86_64-linux-gnu/libstdc++.so.6.0.25
    7fdd0f099000-7fdd0f09d000 rw-p 00000000 00:00 0 
    7fdd0f09d000-7fdd0f0cd000 r-xp 00000000 08:02 7864556                    /tmp/jni_multik14124075558229066431/libmultik_jni.so
    7fdd0f0cd000-7fdd0f2cc000 ---p 00030000 08:02 7864556                    /tmp/jni_multik14124075558229066431/libmultik_jni.so
    7fdd0f2cc000-7fdd0f2cd000 r--p 0002f000 08:02 7864556                    /tmp/jni_multik14124075558229066431/libmultik_jni.so
    7fdd0f2cd000-7fdd0f2ce000 rw-p 00030000 08:02 7864556                    /tmp/jni_multik14124075558229066431/libmultik_jni.so
    7fdd0f2ce000-7fdd0f40f000 rw-p 00000000 00:00 0 
    7fdd0f40f000-7fdd0f4cf000 ---p 00000000 00:00 0 
    7fdd0f4cf000-7fdd0f4d3000 ---p 00000000 00:00 0 
    7fdd0f4d3000-7fdd0f5d0000 rw-p 00000000 00:00 0 
    7fdd0f5d0000-7fdd0f5d2000 r-xp 00000000 08:02 14972374                   /usr/lib/jvm/jdk-11.0.9+11/lib/libextnet.so
    7fdd0f5d2000-7fdd0f7d1000 ---p 00002000 08:02 14972374                   /usr/lib/jvm/jdk-11.0.9+11/lib/libextnet.so
    7fdd0f7d1000-7fdd0f7d2000 r--p 00001000 08:02 14972374                   /usr/lib/jvm/jdk-11.0.9+11/lib/libextnet.so
    7fdd0f7d2000-7fdd0f7d3000 rw-p 00002000 08:02 14972374                   /usr/lib/jvm/jdk-11.0.9+11/lib/libextnet.so
    7fdd0f7d3000-7fdd0f7d4000 ---p 00000000 00:00 0 
    7fdd0f7d4000-7fdd0f8d5000 rw-p 00000000 00:00 0 
    7fdd0f8d5000-7fdd0f8d9000 ---p 00000000 00:00 0 
    7fdd0f8d9000-7fdd0f9d6000 rw-p 00000000 00:00 0 
    7fdd0f9d6000-7fdd0f9da000 ---p 00000000 00:00 0 
    7fdd0f9da000-7fdd0fad7000 rw-p 00000000 00:00 0 
    7fdd0fad7000-7fdd0faed000 r-xp 00000000 08:02 14972334                   /usr/lib/jvm/jdk-11.0.9+11/lib/libnet.so
    7fdd0faed000-7fdd0fcec000 ---p 00016000 08:02 14972334                   /usr/lib/jvm/jdk-11.0.9+11/lib/libnet.so
    7fdd0fcec000-7fdd0fced000 r--p 00015000 08:02 14972334                   /usr/lib/jvm/jdk-11.0.9+11/lib/libnet.so
    7fdd0fced000-7fdd0fcee000 rw-p 00016000 08:02 14972334                   /usr/lib/jvm/jdk-11.0.9+11/lib/libnet.so
    7fdd0fcee000-7fdd0fcfd000 r-xp 00000000 08:02 14972349                   /usr/lib/jvm/jdk-11.0.9+11/lib/libnio.so
    7fdd0fcfd000-7fdd0fefd000 ---p 0000f000 08:02 14972349                   /usr/lib/jvm/jdk-11.0.9+11/lib/libnio.so
    7fdd0fefd000-7fdd0fefe000 r--p 0000f000 08:02 14972349                   /usr/lib/jvm/jdk-11.0.9+11/lib/libnio.so
    7fdd0fefe000-7fdd0feff000 rw-p 00010000 08:02 14972349                   /usr/lib/jvm/jdk-11.0.9+11/lib/libnio.so
    7fdd0feff000-7fdd0ff03000 ---p 00000000 00:00 0 
    7fdd0ff03000-7fdd10000000 rw-p 00000000 00:00 0 
    7fdd10000000-7fdd102aa000 rw-p 00000000 00:00 0 
    7fdd102aa000-7fdd14000000 ---p 00000000 00:00 0 
    7fdd14000000-7fdd14021000 rw-p 00000000 00:00 0 
    7fdd14021000-7fdd18000000 ---p 00000000 00:00 0 
    7fdd18000000-7fdd18021000 rw-p 00000000 00:00 0 
    7fdd18021000-7fdd1c000000 ---p 00000000 00:00 0 
    7fdd1c000000-7fdd1c345000 rw-p 00000000 00:00 0 
    7fdd1c345000-7fdd20000000 ---p 00000000 00:00 0 
    7fdd20000000-7fdd20021000 rw-p 00000000 00:00 0 
    7fdd20021000-7fdd24000000 ---p 00000000 00:00 0 
    7fdd24000000-7fdd24021000 rw-p 00000000 00:00 0 
    7fdd24021000-7fdd28000000 ---p 00000000 00:00 0 
    7fdd28000000-7fdd28021000 rw-p 00000000 00:00 0 
    7fdd28021000-7fdd2c000000 ---p 00000000 00:00 0 
    7fdd2c000000-7fdd2c021000 rw-p 00000000 00:00 0 
    7fdd2c021000-7fdd30000000 ---p 00000000 00:00 0 
    7fdd30000000-7fdd30021000 rw-p 00000000 00:00 0 
    7fdd30021000-7fdd34000000 ---p 00000000 00:00 0 
    7fdd34000000-7fdd34021000 rw-p 00000000 00:00 0 
    7fdd34021000-7fdd38000000 ---p 00000000 00:00 0 
    7fdd38000000-7fdd38021000 rw-p 00000000 00:00 0 
    7fdd38021000-7fdd3c000000 ---p 00000000 00:00 0 
    7fdd3c062000-7fdd3c066000 ---p 00000000 00:00 0 
    7fdd3c066000-7fdd3c163000 rw-p 00000000 00:00 0 
    7fdd3c163000-7fdd3c167000 ---p 00000000 00:00 0 
    7fdd3c167000-7fdd3c264000 rw-p 00000000 00:00 0 
    7fdd3c264000-7fdd3c268000 ---p 00000000 00:00 0 
    7fdd3c268000-7fdd3c365000 rw-p 00000000 00:00 0 
    7fdd3c365000-7fdd3c369000 ---p 00000000 00:00 0 
    7fdd3c369000-7fdd3c466000 rw-p 00000000 00:00 0 
    7fdd3c466000-7fdd3c46a000 ---p 00000000 00:00 0 
    7fdd3c46a000-7fdd3c567000 rw-p 00000000 00:00 0 
    7fdd3c567000-7fdd3c890000 r--p 00000000 08:02 1835024                    /usr/lib/locale/locale-archive
    7fdd3c890000-7fdd3c894000 ---p 00000000 00:00 0 
    7fdd3c894000-7fdd3c991000 rw-p 00000000 00:00 0 
    7fdd3c991000-7fdd3c995000 ---p 00000000 00:00 0 
    7fdd3c995000-7fdd3ca92000 rw-p 00000000 00:00 0 
    7fdd3ca92000-7fdd3ca93000 ---p 00000000 00:00 0 
    7fdd3ca93000-7fdd3fb54000 rw-p 00000000 00:00 0 
    7fdd3fb54000-7fdd4e6b4000 ---p 00000000 00:00 0 
    7fdd4e6b4000-7fdd4f674000 rw-p 00000000 00:00 0 
    7fdd4f674000-7fdd5e1d4000 ---p 00000000 00:00 0 
    7fdd5e1d4000-7fdd5e3cc000 rw-p 00000000 00:00 0 
    7fdd5e3cc000-7fdd60138000 ---p 00000000 00:00 0 
    7fdd60138000-7fdd60330000 rw-p 00000000 00:00 0 
    7fdd60330000-7fdd6209c000 ---p 00000000 00:00 0 
    7fdd6209c000-7fdd62294000 rw-p 00000000 00:00 0 
    7fdd62294000-7fdd64000000 ---p 00000000 00:00 0 
    7fdd64000000-7fdd64021000 rw-p 00000000 00:00 0 
    7fdd64021000-7fdd68000000 ---p 00000000 00:00 0 
    7fdd68018000-7fdd68899000 rw-p 00000000 00:00 0 
    7fdd68899000-7fdd68b09000 rwxp 00000000 00:00 0 
    7fdd68b09000-7fdd68e2a000 ---p 00000000 00:00 0 
    7fdd68e2a000-7fdd6909a000 rwxp 00000000 00:00 0 
    7fdd6909a000-7fdd70361000 ---p 00000000 00:00 0 
    7fdd70361000-7fdd705d1000 rwxp 00000000 00:00 0 
    7fdd705d1000-7fdd77899000 ---p 00000000 00:00 0 
    7fdd77899000-7fdd80000000 r--s 00000000 08:02 14972372                   /usr/lib/jvm/jdk-11.0.9+11/lib/modules
    7fdd80000000-7fdd80b1f000 rw-p 00000000 00:00 0 
    7fdd80b1f000-7fdd84000000 ---p 00000000 00:00 0 
    7fdd84073000-7fdd840ce000 rw-p 00000000 00:00 0 
    7fdd840ce000-7fdd840cf000 ---p 00000000 00:00 0 
    7fdd840cf000-7fdd841d0000 rw-p 00000000 00:00 0 
    7fdd841d0000-7fdd841d1000 ---p 00000000 00:00 0 
    7fdd841d1000-7fdd84ada000 rw-p 00000000 00:00 0 
    7fdd84ada000-7fdd84adb000 ---p 00000000 00:00 0 
    7fdd84adb000-7fdd84bdc000 rw-p 00000000 00:00 0 
    7fdd84bdc000-7fdd84bdd000 ---p 00000000 00:00 0 
    7fdd84bdd000-7fdd855ea000 rw-p 00000000 00:00 0 
    7fdd855ea000-7fdd855eb000 ---p 00000000 00:00 0 
    7fdd855eb000-7fdd856f1000 rw-p 00000000 00:00 0 
    7fdd856f1000-7fdd857d7000 ---p 00000000 00:00 0 
    7fdd857d7000-7fdd857dc000 rw-p 00000000 00:00 0 
    7fdd857dc000-7fdd858c2000 ---p 00000000 00:00 0 
    7fdd858c2000-7fdd858c9000 r-xp 00000000 08:02 14972333                   /usr/lib/jvm/jdk-11.0.9+11/lib/libzip.so
    7fdd858c9000-7fdd85ac8000 ---p 00007000 08:02 14972333                   /usr/lib/jvm/jdk-11.0.9+11/lib/libzip.so
    7fdd85ac8000-7fdd85ac9000 r--p 00006000 08:02 14972333                   /usr/lib/jvm/jdk-11.0.9+11/lib/libzip.so
    7fdd85ac9000-7fdd85aca000 rw-p 00007000 08:02 14972333                   /usr/lib/jvm/jdk-11.0.9+11/lib/libzip.so
    7fdd85aca000-7fdd85ad5000 r-xp 00000000 08:02 10228414                   /lib/x86_64-linux-gnu/libnss_files-2.27.so
    7fdd85ad5000-7fdd85cd4000 ---p 0000b000 08:02 10228414                   /lib/x86_64-linux-gnu/libnss_files-2.27.so
    7fdd85cd4000-7fdd85cd5000 r--p 0000a000 08:02 10228414                   /lib/x86_64-linux-gnu/libnss_files-2.27.so
    7fdd85cd5000-7fdd85cd6000 rw-p 0000b000 08:02 10228414                   /lib/x86_64-linux-gnu/libnss_files-2.27.so
    7fdd85cd6000-7fdd85cdc000 rw-p 00000000 00:00 0 
    7fdd85cdc000-7fdd85cf3000 r-xp 00000000 08:02 10228407                   /lib/x86_64-linux-gnu/libnsl-2.27.so
    7fdd85cf3000-7fdd85ef2000 ---p 00017000 08:02 10228407                   /lib/x86_64-linux-gnu/libnsl-2.27.so
    7fdd85ef2000-7fdd85ef3000 r--p 00016000 08:02 10228407                   /lib/x86_64-linux-gnu/libnsl-2.27.so
    7fdd85ef3000-7fdd85ef4000 rw-p 00017000 08:02 10228407                   /lib/x86_64-linux-gnu/libnsl-2.27.so
    7fdd85ef4000-7fdd85ef6000 rw-p 00000000 00:00 0 
    7fdd85ef6000-7fdd85f01000 r-xp 00000000 08:02 10228430                   /lib/x86_64-linux-gnu/libnss_nis-2.27.so
    7fdd85f01000-7fdd86100000 ---p 0000b000 08:02 10228430                   /lib/x86_64-linux-gnu/libnss_nis-2.27.so
    7fdd86100000-7fdd86101000 r--p 0000a000 08:02 10228430                   /lib/x86_64-linux-gnu/libnss_nis-2.27.so
    7fdd86101000-7fdd86102000 rw-p 0000b000 08:02 10228430                   /lib/x86_64-linux-gnu/libnss_nis-2.27.so
    7fdd86102000-7fdd8610a000 r-xp 00000000 08:02 10228408                   /lib/x86_64-linux-gnu/libnss_compat-2.27.so
    7fdd8610a000-7fdd8630a000 ---p 00008000 08:02 10228408                   /lib/x86_64-linux-gnu/libnss_compat-2.27.so
    7fdd8630a000-7fdd8630b000 r--p 00008000 08:02 10228408                   /lib/x86_64-linux-gnu/libnss_compat-2.27.so
    7fdd8630b000-7fdd8630c000 rw-p 00009000 08:02 10228408                   /lib/x86_64-linux-gnu/libnss_compat-2.27.so
    7fdd8630c000-7fdd86316000 r-xp 00000000 08:02 14972376                   /usr/lib/jvm/jdk-11.0.9+11/lib/libinstrument.so
    7fdd86316000-7fdd86515000 ---p 0000a000 08:02 14972376                   /usr/lib/jvm/jdk-11.0.9+11/lib/libinstrument.so
    7fdd86515000-7fdd86516000 r--p 00009000 08:02 14972376                   /usr/lib/jvm/jdk-11.0.9+11/lib/libinstrument.so
    7fdd86516000-7fdd86517000 rw-p 0000a000 08:02 14972376                   /usr/lib/jvm/jdk-11.0.9+11/lib/libinstrument.so
    7fdd86517000-7fdd86532000 r-xp 00000000 08:02 14972328                   /usr/lib/jvm/jdk-11.0.9+11/lib/libjimage.so
    7fdd86532000-7fdd86732000 ---p 0001b000 08:02 14972328                   /usr/lib/jvm/jdk-11.0.9+11/lib/libjimage.so
    7fdd86732000-7fdd86734000 r--p 0001b000 08:02 14972328                   /usr/lib/jvm/jdk-11.0.9+11/lib/libjimage.so
    7fdd86734000-7fdd86735000 rw-p 0001d000 08:02 14972328                   /usr/lib/jvm/jdk-11.0.9+11/lib/libjimage.so
    7fdd86735000-7fdd8675e000 r-xp 00000000 08:02 14972377                   /usr/lib/jvm/jdk-11.0.9+11/lib/libjava.so
    7fdd8675e000-7fdd8695d000 ---p 00029000 08:02 14972377                   /usr/lib/jvm/jdk-11.0.9+11/lib/libjava.so
    7fdd8695d000-7fdd8695e000 r--p 00028000 08:02 14972377                   /usr/lib/jvm/jdk-11.0.9+11/lib/libjava.so
    7fdd8695e000-7fdd8695f000 rw-p 00029000 08:02 14972377                   /usr/lib/jvm/jdk-11.0.9+11/lib/libjava.so
    7fdd8695f000-7fdd86960000 rw-p 00000000 00:00 0 
    7fdd86960000-7fdd86971000 r-xp 00000000 08:02 14972335                   /usr/lib/jvm/jdk-11.0.9+11/lib/libverify.so
    7fdd86971000-7fdd86b70000 ---p 00011000 08:02 14972335                   /usr/lib/jvm/jdk-11.0.9+11/lib/libverify.so
    7fdd86b70000-7fdd86b72000 r--p 00010000 08:02 14972335                   /usr/lib/jvm/jdk-11.0.9+11/lib/libverify.so
    7fdd86b72000-7fdd86b73000 rw-p 00012000 08:02 14972335                   /usr/lib/jvm/jdk-11.0.9+11/lib/libverify.so
    7fdd86b73000-7fdd86b7a000 r-xp 00000000 08:02 10228445                   /lib/x86_64-linux-gnu/librt-2.27.so
    7fdd86b7a000-7fdd86d79000 ---p 00007000 08:02 10228445                   /lib/x86_64-linux-gnu/librt-2.27.so
    7fdd86d79000-7fdd86d7a000 r--p 00006000 08:02 10228445                   /lib/x86_64-linux-gnu/librt-2.27.so
    7fdd86d7a000-7fdd86d7b000 rw-p 00007000 08:02 10228445                   /lib/x86_64-linux-gnu/librt-2.27.so
    7fdd86d7b000-7fdd86f18000 r-xp 00000000 08:02 10228350                   /lib/x86_64-linux-gnu/libm-2.27.so
    7fdd86f18000-7fdd87117000 ---p 0019d000 08:02 10228350                   /lib/x86_64-linux-gnu/libm-2.27.so
    7fdd87117000-7fdd87118000 r--p 0019c000 08:02 10228350                   /lib/x86_64-linux-gnu/libm-2.27.so
    7fdd87118000-7fdd87119000 rw-p 0019d000 08:02 10228350                   /lib/x86_64-linux-gnu/libm-2.27.so
    7fdd87119000-7fdd8836b000 r-xp 00000000 08:02 14972325                   /usr/lib/jvm/jdk-11.0.9+11/lib/server/libjvm.so
    7fdd8836b000-7fdd8856a000 ---p 01252000 08:02 14972325                   /usr/lib/jvm/jdk-11.0.9+11/lib/server/libjvm.so
    7fdd8856a000-7fdd8862c000 r--p 01251000 08:02 14972325                   /usr/lib/jvm/jdk-11.0.9+11/lib/server/libjvm.so
    7fdd8862c000-7fdd88667000 rw-p 01313000 08:02 14972325                   /usr/lib/jvm/jdk-11.0.9+11/lib/server/libjvm.so
    7fdd88667000-7fdd886be000 rw-p 00000000 00:00 0 
    7fdd886be000-7fdd888a5000 r-xp 00000000 08:02 10228322                   /lib/x86_64-linux-gnu/libc-2.27.so
    7fdd888a5000-7fdd88aa5000 ---p 001e7000 08:02 10228322                   /lib/x86_64-linux-gnu/libc-2.27.so
    7fdd88aa5000-7fdd88aa9000 r--p 001e7000 08:02 10228322                   /lib/x86_64-linux-gnu/libc-2.27.so
    7fdd88aa9000-7fdd88aab000 rw-p 001eb000 08:02 10228322                   /lib/x86_64-linux-gnu/libc-2.27.so
    7fdd88aab000-7fdd88aaf000 rw-p 00000000 00:00 0 
    7fdd88aaf000-7fdd88ab2000 r-xp 00000000 08:02 10228349                   /lib/x86_64-linux-gnu/libdl-2.27.so
    7fdd88ab2000-7fdd88cb1000 ---p 00003000 08:02 10228349                   /lib/x86_64-linux-gnu/libdl-2.27.so
    7fdd88cb1000-7fdd88cb2000 r--p 00002000 08:02 10228349                   /lib/x86_64-linux-gnu/libdl-2.27.so
    7fdd88cb2000-7fdd88cb3000 rw-p 00003000 08:02 10228349                   /lib/x86_64-linux-gnu/libdl-2.27.so
    7fdd88cb3000-7fdd88cc3000 r-xp 00000000 08:02 14972343                   /usr/lib/jvm/jdk-11.0.9+11/lib/jli/libjli.so
    7fdd88cc3000-7fdd88ec2000 ---p 00010000 08:02 14972343                   /usr/lib/jvm/jdk-11.0.9+11/lib/jli/libjli.so
    7fdd88ec2000-7fdd88ec3000 r--p 0000f000 08:02 14972343                   /usr/lib/jvm/jdk-11.0.9+11/lib/jli/libjli.so
    7fdd88ec3000-7fdd88ec4000 rw-p 00010000 08:02 14972343                   /usr/lib/jvm/jdk-11.0.9+11/lib/jli/libjli.so
    7fdd88ec4000-7fdd88ede000 r-xp 00000000 08:02 10228435                   /lib/x86_64-linux-gnu/libpthread-2.27.so
    7fdd88ede000-7fdd890dd000 ---p 0001a000 08:02 10228435                   /lib/x86_64-linux-gnu/libpthread-2.27.so
    7fdd890dd000-7fdd890de000 r--p 00019000 08:02 10228435                   /lib/x86_64-linux-gnu/libpthread-2.27.so
    7fdd890de000-7fdd890df000 rw-p 0001a000 08:02 10228435                   /lib/x86_64-linux-gnu/libpthread-2.27.so
    7fdd890df000-7fdd890e3000 rw-p 00000000 00:00 0 
    7fdd890e3000-7fdd890ff000 r-xp 00000000 08:02 10228515                   /lib/x86_64-linux-gnu/libz.so.1.2.11
    7fdd890ff000-7fdd892fe000 ---p 0001c000 08:02 10228515                   /lib/x86_64-linux-gnu/libz.so.1.2.11
    7fdd892fe000-7fdd892ff000 r--p 0001b000 08:02 10228515                   /lib/x86_64-linux-gnu/libz.so.1.2.11
    7fdd892ff000-7fdd89300000 rw-p 0001c000 08:02 10228515                   /lib/x86_64-linux-gnu/libz.so.1.2.11
    7fdd89300000-7fdd89329000 r-xp 00000000 08:02 10228316                   /lib/x86_64-linux-gnu/ld-2.27.so
    7fdd89360000-7fdd893de000 rw-p 00000000 00:00 0 
    7fdd893de000-7fdd893e2000 ---p 00000000 00:00 0 
    7fdd893e2000-7fdd894e3000 rw-p 00000000 00:00 0 
    7fdd89513000-7fdd89518000 rw-p 00000000 00:00 0 
    7fdd89518000-7fdd8951f000 ---p 00000000 00:00 0 
    7fdd8951f000-7fdd89527000 rw-s 00000000 08:02 7864554                    /tmp/hsperfdata_breandan/8338
    7fdd89527000-7fdd89528000 ---p 00000000 00:00 0 
    7fdd89528000-7fdd89529000 r--p 00000000 00:00 0 
    7fdd89529000-7fdd8952a000 r--p 00029000 08:02 10228316                   /lib/x86_64-linux-gnu/ld-2.27.so
    7fdd8952a000-7fdd8952b000 rw-p 0002a000 08:02 10228316                   /lib/x86_64-linux-gnu/ld-2.27.so
    7fdd8952b000-7fdd8952c000 rw-p 00000000 00:00 0 
    7ffd4fa1d000-7ffd4fa43000 rw-p 00000000 00:00 0                          [stack]
    7ffd4fb1e000-7ffd4fb21000 r--p 00000000 00:00 0                          [vvar]
    7ffd4fb21000-7ffd4fb23000 r-xp 00000000 00:00 0                          [vdso]
    ffffffffff600000-ffffffffff601000 r-xp 00000000 00:00 0                  [vsyscall]
    
    
    VM Arguments:
    jvm_args: -javaagent:/home/breandan/.local/share/JetBrains/Toolbox/apps/IDEA-U/ch-0/203.7148.40/lib/idea_rt.jar=35141:/home/breandan/.local/share/JetBrains/Toolbox/apps/IDEA-U/ch-0/203.7148.40/bin -Dfile.encoding=UTF-8 
    java_command: edu.mcgill.markovian.mcmc.MarkovChainKt
    java_class_path (initial): /home/breandan/IdeaProjects/markovian/build/classes/java/main:/home/breandan/IdeaProjects/markovian/build/classes/kotlin/main:/home/breandan/IdeaProjects/markovian/build/resources/main:/home/breandan/IdeaProjects/markovian/libs/mpj-0.44.jar:/home/breandan/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlinx.multik/multik-default/0.0.1-dev-12/c9f5e293672590b3e16b0cbb76d7348bcc77d183/multik-default-0.0.1-dev-12.jar:/home/breandan/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlinx.multik/multik-api/0.0.1-dev-12/7ae71cda54b3953c58c1d6c6eeeee240fe38548/multik-api-0.0.1-dev-12.jar:/home/breandan/.gradle/caches/modules-2/files-2.1/com.github.breandan/kaliningraph/0.1.4/6b4814490290c47304142919e59714ed81007833/kaliningraph-0.1.4.jar:/home/breandan/.gradle/caches/modules-2/files-2.1/org.jetbrains.lets-plot-kotlin/lets-plot-kotlin-api/1.1.0/56ba929e2d8249cbf14c2b950bbc0965ce00e68b/lets-plot-kotlin-api-1.1.0.jar:/home/breandan/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlin/kotlin-stdlib/1.4.21/4a668382d7c38688d3490afde93b6a113ed46698/kotlin-stdlib-1.4.21.jar:/home/breandan/.gradle/caches/modules-2/files-2.1/ch.idsia/crema/0.1.5/63e242423909eab7d81a61fa7d5e532c5c152187/crema-0.1.5.jar:/home/breandan/.gradle/caches/modules-2/files-2.1/org.matheclipse/matheclipse-core/1.0.0-SNAPSHOT/ca6d521b68fdb84a097e2fa4101efc5b9e6f3535/matheclipse-core-1.0.0-SNAPSHOT.jar:/home/breandan/.gradle/caches/modules-2/files-2.1/com.github.analog-garage/dimple/master-SNAPSHOT/751b9ca62a201bb3782979c2a70faec7c3dad601/dimple-master-SNAPSHOT.jar:/home/breandan/.gradle/caches/modules-2/files-2.1/com.github.TUK-CPS/jAADD/-SNAPSHOT/c3e7aebe4afe00fefafd5932f86005e0ea481215/jAADD--SNAPSHOT.jar:/home/breandan/.gradle/caches/modules-2/files-2.1/ca.umontreal.iro.simul/ssj/3.3.1/6c5f2cb68dc369d17d331e4566db0a4bbafd0269/ssj-3.3.1.jar:/home/breandan/.gradle/caches/modules-2/files-2.1/org.jetbrains.kotlinx/kotlinx-coroutines-core-jvm/1.4.2/4b9c6b2de7cabfb2c9ad7a5c709b1
    Launcher Type: SUN_STANDARD
    
    [Global flags]
         intx CICompilerCount                          = 4                                         {product} {ergonomic}
         uint ConcGCThreads                            = 2                                         {product} {ergonomic}
         uint G1ConcRefinementThreads                  = 8                                         {product} {ergonomic}
       size_t G1HeapRegionSize                         = 4194304                                   {product} {ergonomic}
        uintx GCDrainStackTargetSize                   = 64                                        {product} {ergonomic}
       size_t InitialHeapSize                          = 1056964608                                {product} {ergonomic}
       size_t MarkStackSize                            = 4194304                                   {product} {ergonomic}
       size_t MaxHeapSize                              = 16852713472                               {product} {ergonomic}
       size_t MaxNewSize                               = 10108272640                               {product} {ergonomic}
       size_t MinHeapDeltaBytes                        = 4194304                                   {product} {ergonomic}
        uintx NonNMethodCodeHeapSize                   = 5836300                                {pd product} {ergonomic}
        uintx NonProfiledCodeHeapSize                  = 122910970                              {pd product} {ergonomic}
        uintx ProfiledCodeHeapSize                     = 122910970                              {pd product} {ergonomic}
        uintx ReservedCodeCacheSize                    = 251658240                              {pd product} {ergonomic}
         bool SegmentedCodeCache                       = true                                      {product} {ergonomic}
         bool UseCompressedClassPointers               = true                                 {lp64_product} {ergonomic}
         bool UseCompressedOops                        = true                                 {lp64_product} {ergonomic}
         bool UseG1GC                                  = true                                      {product} {ergonomic}
    
    Logging:
    Log output configuration:
     #0: stdout all=warning uptime,level,tags
     #1: stderr all=off uptime,level,tags
    
    Environment Variables:
    PATH=/home/breandan/.cargo/bin:/home/breandan/.local/bin:/home/breandan/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin
    USERNAME=breandan
    SHELL=/bin/bash
    DISPLAY=:1
    LANG=en_US.UTF-8
    LC_ALL=en_US.UTF-8
    
    Signal Handlers:
    SIGSEGV: [libjvm.so+0xf2b2e0], sa_mask[0]=11111111011111111101111111111110, sa_flags=SA_RESTART|SA_SIGINFO
    SIGBUS: [libjvm.so+0xf2b2e0], sa_mask[0]=11111111011111111101111111111110, sa_flags=SA_RESTART|SA_SIGINFO
    SIGFPE: [libjvm.so+0xf2b2e0], sa_mask[0]=11111111011111111101111111111110, sa_flags=SA_RESTART|SA_SIGINFO
    SIGPIPE: [libjvm.so+0xc4e590], sa_mask[0]=11111111011111111101111111111110, sa_flags=SA_RESTART|SA_SIGINFO
    SIGXFSZ: [libjvm.so+0xc4e590], sa_mask[0]=11111111011111111101111111111110, sa_flags=SA_RESTART|SA_SIGINFO
    SIGILL: [libjvm.so+0xf2b2e0], sa_mask[0]=11111111011111111101111111111110, sa_flags=SA_RESTART|SA_SIGINFO
    SIGUSR2: [libjvm.so+0xc4e430], sa_mask[0]=00100000000000000000000000000000, sa_flags=SA_RESTART|SA_SIGINFO
    SIGHUP: [libjvm.so+0xc4e790], sa_mask[0]=11111111011111111101111111111110, sa_flags=SA_RESTART|SA_SIGINFO
    SIGINT: [libjvm.so+0xc4e790], sa_mask[0]=11111111011111111101111111111110, sa_flags=SA_RESTART|SA_SIGINFO
    SIGTERM: [libjvm.so+0xc4e790], sa_mask[0]=11111111011111111101111111111110, sa_flags=SA_RESTART|SA_SIGINFO
    SIGQUIT: [libjvm.so+0xc4e790], sa_mask[0]=11111111011111111101111111111110, sa_flags=SA_RESTART|SA_SIGINFO
    
    
    ---------------  S Y S T E M  ---------------
    
    OS:DISTRIB_ID=Ubuntu
    DISTRIB_RELEASE=18.04
    DISTRIB_CODENAME=bionic
    DISTRIB_DESCRIPTION="Ubuntu 18.04.5 LTS"
    uname:Linux 4.15.0-132-generic #136-Ubuntu SMP Tue Jan 12 14:58:42 UTC 2021 x86_64
    OS uptime: 5 days 5:30 hours
    libc:glibc 2.27 NPTL 2.27 
    rlimit (soft/hard): STACK 8192k/infinity , CORE 0k/infinity , NPROC 256404/256404 , NOFILE 1048576/1048576 , AS infinity/infinity , CPU infinity/infinity , DATA infinity/infinity , FSIZE infinity/infinity , MEMLOCK 65536k/65536k
    load average:0.72 1.07 1.30
    
    /proc/meminfo:
    MemTotal:       65821252 kB
    MemFree:        31612944 kB
    MemAvailable:   48203140 kB
    Buffers:         2104456 kB
    Cached:         14727580 kB
    SwapCached:            0 kB
    Active:         22802968 kB
    Inactive:        9430956 kB
    Active(anon):   15365632 kB
    Inactive(anon):   739764 kB
    Active(file):    7437336 kB
    Inactive(file):  8691192 kB
    Unevictable:         316 kB
    Mlocked:             324 kB
    SwapTotal:       2097148 kB
    SwapFree:        2097148 kB
    Dirty:              1056 kB
    Writeback:             0 kB
    AnonPages:      15396816 kB
    Mapped:          1944108 kB
    Shmem:            741888 kB
    Slab:            1428368 kB
    SReclaimable:    1184220 kB
    SUnreclaim:       244148 kB
    KernelStack:       31008 kB
    PageTables:       115864 kB
    NFS_Unstable:          0 kB
    Bounce:                0 kB
    WritebackTmp:          0 kB
    CommitLimit:    35007772 kB
    Committed_AS:   27610136 kB
    VmallocTotal:   34359738367 kB
    VmallocUsed:           0 kB
    VmallocChunk:          0 kB
    HardwareCorrupted:     0 kB
    AnonHugePages:     22528 kB
    ShmemHugePages:        0 kB
    ShmemPmdMapped:        0 kB
    CmaTotal:              0 kB
    CmaFree:               0 kB
    HugePages_Total:       0
    HugePages_Free:        0
    HugePages_Rsvd:        0
    HugePages_Surp:        0
    Hugepagesize:       2048 kB
    DirectMap4k:     1110848 kB
    DirectMap2M:    22857728 kB
    DirectMap1G:    44040192 kB
    
    /sys/kernel/mm/transparent_hugepage/enabled:
    always [madvise] never
    /sys/kernel/mm/transparent_hugepage/defrag (defrag/compaction efforts parameter):
    always defer defer+madvise [madvise] never
    
    /proc/sys/kernel/threads-max (system-wide limit on the number of threads):
    512808
    /proc/sys/vm/max_map_count (maximum number of memory map areas a process may have):
    65530
    /proc/sys/kernel/pid_max (system-wide limit on number of process identifiers):
    32768
    
    container (cgroup) information:
    container_type: cgroupv1
    cpu_cpuset_cpus: 0-7
    cpu_memory_nodes: 0
    active_processor_count: 8
    cpu_quota: -1
    cpu_period: 100000
    cpu_shares: -1
    memory_limit_in_bytes: -1
    memory_and_swap_limit_in_bytes: -2
    memory_soft_limit_in_bytes: -1
    memory_usage_in_bytes: 27112726528
    memory_max_usage_in_bytes: 27411185664
    
    Steal ticks since vm start: 0
    Steal ticks percentage since vm start:  0.000
    
    CPU:total 8 (initial active 8) (4 cores per cpu, 2 threads per core) family 6 model 94 stepping 3, cmov, cx8, fxsr, mmx, sse, sse2, sse3, ssse3, sse4.1, sse4.2, popcnt, avx, avx2, aes, clmul, erms, rtm, 3dnowpref, lzcnt, ht, tsc, tscinvbit, bmi1, bmi2, adx, fma
    CPU Model and flags from /proc/cpuinfo:
    model name	: Intel(R) Xeon(R) CPU E3-1505M v5 @ 2.80GHz
    flags		: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss ht tm pbe syscall nx pdpe1gb rdtscp lm constant_tsc art arch_perfmon pebs bts rep_good nopl xtopology nonstop_tsc cpuid aperfmperf pni pclmulqdq dtes64 monitor ds_cpl vmx smx est tm2 ssse3 sdbg fma cx16 xtpr pdcm pcid sse4_1 sse4_2 x2apic movbe popcnt tsc_deadline_timer aes xsave avx f16c rdrand lahf_lm abm 3dnowprefetch cpuid_fault epb invpcid_single pti ssbd ibrs ibpb stibp tpr_shadow vnmi flexpriority ept vpid fsgsbase tsc_adjust bmi1 hle avx2 smep bmi2 erms invpcid rtm mpx rdseed adx smap clflushopt intel_pt xsaveopt xsavec xgetbv1 xsaves dtherm ida arat pln pts hwp hwp_notify hwp_act_window hwp_epp md_clear flush_l1d
    Online cpus:
    0-7
    Offline cpus:
    
    BIOS frequency limitation:
    <Not Available>
    Frequency switch latency (ns):
    0
    Available cpu frequencies:
    <Not Available>
    Current governor:
    powersave
    Core performance/turbo boost:
    <Not Available>
    
    Memory: 4k page, physical 65821252k(31612944k free), swap 2097148k(2097148k free)
    
    vm_info: OpenJDK 64-Bit Server VM (11.0.9+11) for linux-amd64 JRE (11.0.9+11), built on Oct 24 2020 15:17:19 by "" with gcc 7.5.0
    
    END.
    
    bug 
    opened by breandan 6
  • AAB build not working

    AAB build not working

    When i use kotlinx:multik lib in my app , not able to generate a build .aab file. Bellow is the error when i build aab file:

    Execution failed for task ':app:packageProdReleaseBundle'. A failure occurred while executing com.android.build.gradle.internal.tasks.PackageBundleTask$BundleToolWorkAction File 'root/lib/macosArm64/libmultik_jni-macosArm64.dylib' uses reserved file or directory name 'lib'.

    NOTE : I'll test with both versions 0.2.1 and 0.2.0 it shows same error.

    implementation "org.jetbrains.kotlinx:multik-core:0.2.0" implementation "org.jetbrains.kotlinx:multik-default:0.2.0"

    opened by guruprasannaR 5
  • Error running Multik 0.2.0-dev-5 on Github Actions with ubuntu-latest

    Error running Multik 0.2.0-dev-5 on Github Actions with ubuntu-latest

    It looks like you are preparing for a new release of multik. Tests pass locally on MacOS/ARM64, but I encountered the following error when trying 0.2.0-dev-5 on Github's CI server:

    java.lang.UnsatisfiedLinkError: /tmp/jni_multik7503611758506959258/libmultik_jni-linuxX64.so: /tmp/jni_multik7503611758506959258/libmultik_jni-linuxX64.so: ELF load command address/offset not properly aligned
                at java.base/jdk.internal.loader.NativeLibraries.load(Native Method)
                at java.base/jdk.internal.loader.NativeLibraries$NativeLibraryImpl.open(NativeLibraries.java:388)
                at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:232)
                at java.base/jdk.internal.loader.NativeLibraries.loadLibrary(NativeLibraries.java:174)
                at java.base/java.lang.ClassLoader.loadLibrary(ClassLoader.java:2389)
                at java.base/java.lang.Runtime.load0(Runtime.java:755)
                at java.base/java.lang.System.load(System.java:1953)
                at org.jetbrains.kotlinx.multik.openblas.JvmLoader.load(Loader.kt:72)
                at org.jetbrains.kotlinx.multik.openblas.JvmNativeEngine.<init>(JvmNativeEngine.kt:7)
                at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
                at java.base/jdk.internal.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:77)
                at java.base/jdk.internal.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
                at java.base/java.lang.reflect.Constructor.newInstanceWithCaller(Constructor.java:499)
                at java.base/java.lang.reflect.Constructor.newInstance(Constructor.java:480)
                at java.base/java.util.ServiceLoader$ProviderImpl.newInstance(ServiceLoader.java:789)
    

    These are the versions I am currently using:

            val multikVersion = "0.2.0-dev-5"
            implementation("org.jetbrains.kotlinx:multik-core:$multikVersion")
    //  implementation("org.jetbrains.kotlinx:multik-core-linuxx64:$multikVersion")
    //  implementation("org.jetbrains.kotlinx:multik-kotlin-linuxx64:$multikVersion")
            implementation("org.jetbrains.kotlinx:multik-core-jvm:$multikVersion")
            implementation("org.jetbrains.kotlinx:multik-default:$multikVersion")
            implementation("org.jetbrains.kotlinx:multik-openblas-jvm:$multikVersion")
            implementation("org.jetbrains.kotlinx:multik-openblas:$multikVersion")
    //  implementation("org.jetbrains.kotlinx:multik-native:$multik_version")
    

    When I added multik-core-linuxx64, I received the following error:

    Execution failed for task ':kspKotlinJvm'.
    > Error while evaluating property 'filteredArgumentsMap' of task ':kspKotlinJvm'
       > Could not resolve all files for configuration ':jvmCompileClasspath'.
          > Could not resolve org.jetbrains.kotlinx:multik-kotlin-linuxx64:0.2.0-dev-5.
            Required by:
                project :
             > No matching variant of org.jetbrains.kotlinx:multik-kotlin-linuxx64:0.2.0-dev-5 was found. The consumer was configured to find an API of a library, preferably optimized for standard JVMs, as well as attribute 'org.jetbrains.kotlin.platform.type' with value 'jvm' but:
                 - Variant 'linuxX64ApiElements-published' capability org.jetbrains.kotlinx:multik-kotlin-linuxx64:0.2.0-dev-5 declares a library:
                     - Incompatible because this component declares a usage of 'kotlin-api' of a component, as well as attribute 'org.jetbrains.kotlin.platform.type' with value 'native' and the consumer needed an API of a component, as well as attribute 'org.jetbrains.kotlin.platform.type' with value 'jvm'
                     - Other compatible attribute:
                         - Doesn't say anything about its target Java environment (preferred optimized for standard JVMs)
    

    I am currently unsure how to proceed, any feedback you might have would be appreciated. Thanks!

    opened by breandan 5
  • Add LogicalOr and LogicalAnd

    Add LogicalOr and LogicalAnd

    Hi, I'm going to implement the postprocessing for the YOLOv4 model in the KotlinDL library, but it requires many different analogs of the NumPy functions.

    Could you please add the analog of the np.logical_or and np.logical_and functions?

    api 
    opened by zaleslaw 5
  • Gradle dependency error for multiplatform commonMain implementation.

    Gradle dependency error for multiplatform commonMain implementation.

    Trying to import the Multik library into a multiplatform module, I'm finding Gradle is getting in a muddle with its maven repositories.

    kotlin {
        ...
        sourceSets {
            val commonMain by getting {
                repositories {
                    mavenCentral()
                }
    
                dependencies {
                    implementation("org.jetbrains.kotlinx:kotlinx-coroutines-core:1.4.3-native-mt")
                    implementation("org.jetbrains.kotlinx:multik-api:0.0.1")
                    implementation("org.jetbrains.kotlinx:multik-default:0.0.1")
                }
            }
            ...
    

    Gradle sync yields this error:

    <ij_msg_gr>Gradle import errors<ij_msg_gr>
    <ij_nav>/home/john/StudioProjects/foo-android-ml-sdk/bandit/build.gradle.kts<ij_nav>
    <i>
       <b>project ':bandit': Unable to build Kotlin project configuration</b>
       Details: org.gradle.internal.resolve.ArtifactNotFoundException: 
       Could not find multik-api-0.0.1-samplessources.jar (org.jetbrains.kotlinx:multik-api:0.0.1).
       Searched in the following locations:
       https://jcenter.bintray.com/org/jetbrains/kotlinx/multik-api/0.0.1/multik-api-0.0.1-samplessources.jar
    </i>
    

    It's looking for multik-api-0.0.1-samplessources.jar on jcenter, not mavenCentral.

    Here's a similar incident of something like this happening here: https://stackoverflow.com/questions/57396309/gradle-try-to-download-from-wrong-repository

    Could there be a misconfigured entry for multik-api-0.0.1-samplessources in a pom.xml file somewhere?

    opened by occultus73 5
  • Missing libmultik_jni.so when invoking math module in Android app.

    Missing libmultik_jni.so when invoking math module in Android app.

    Hi there. Excited about this new library. I'm currently using it to build a context bandit AI for an Android library.

    Got a missing run time library here, when trying to execute this line that invokes the math module: return mk.math.argMax(vals)

    Stack trace:

    java.lang.UnsatisfiedLinkError: dalvik.system.PathClassLoader[DexPathList[[zip file "/system/framework/android.test.mock.jar", zip file "/system/framework/android.test.runner.jar", zip file "/data/app/com.foo.sdk.ml.test-YJeG7qRKnhW-wJG8Fop5OQ==/base.apk"],nativeLibraryDirectories=[/data/app/com.foo.sdk.ml.test-YJeG7qRKnhW-wJG8Fop5OQ==/lib/x86, /data/app/com.foo.sdk.ml.test-YJeG7qRKnhW-wJG8Fop5OQ==/base.apk!/lib/x86, /system/lib]]] couldn't find "libmultik_jni.so"
    	at java.lang.Runtime.loadLibrary0(Runtime.java:1012)
    	at java.lang.System.loadLibrary(System.java:1669)
    	at org.jetbrains.kotlinx.multik.jni.Loader.load(Loader.kt:56)
    	at org.jetbrains.kotlinx.multik.jni.NativeEngine.<clinit>(NativeEngine.kt:26)
    	at org.jetbrains.kotlinx.multik.default.DefaultEngine.<clinit>(DefaultEngine.kt:24)
    	at org.jetbrains.kotlinx.multik.default.DefaultEngineProvider.getEngine(DefaultEngine.kt:12)
    	at org.jetbrains.kotlinx.multik.api.Engine.loadEngine(Engine.kt:36)
    	at org.jetbrains.kotlinx.multik.api.Engine.<clinit>(Engine.kt:67)
    	at org.jetbrains.kotlinx.multik.api.Multik.getMath(Multik.kt:39)
    

    I'm importing the library as per the GitHub README:

    repositories {
        mavenCentral()
        //etc...
    }
    
    dependencies {
        //etc...
    
        // NDArray Library
        implementation("org.jetbrains.kotlinx:multik-api:0.0.1")
        implementation("org.jetbrains.kotlinx:multik-default:0.0.1")
    }
    

    Thank you for your attention.

    opened by occultus73 5
  • multik java.lang.unsatisfiedlinkerror: dlopen failed: library

    multik java.lang.unsatisfiedlinkerror: dlopen failed: library "libmultik_jni.so" not found

    i use multik to calculate eigen value and vector in android but it doesn't work

    how can i deal with this

    my dependencies is implementation("org.jetbrains.kotlinx:multik-api:0.1.1") implementation("org.jetbrains.kotlinx:multik-jvm:0.1.1")

    and i also tried "default" but it also doesn't work

    this problem caused by "mk.linalg.eig(_)"

    opened by Sungijnwoo 4
  • clip function for primitive types added

    clip function for primitive types added

    There was a small typo in README

    Clip operation is missing for Complex types because they are not Comparable. I am also not sure how to implement it. Should we compare them based on their real part only?

    If Comparable interface were added to complex arrays then I think this function should work without any refactoring.

    If I am missing anything please let me know.

    opened by cagriyildirimR 4
  • Application got SIGABRT after sum funtion

    Application got SIGABRT after sum funtion

    My usage:

    `package com.thinhnguyen.xface

    class FindDistanceActivityViewModel(): ViewModel() {

    private fun l2Normalize(source: NDArray<Float, D1>): NDArray<Float, D1> {
        return source / sqrt((source*source).sum())
    }
    private fun euclideanDistanceL2(a: List<Float>, b: List<Float>): Float {
        val aNp = mk.ndarray(a)
        val bNp = mk.ndarray(b)
        val aNpNorm = l2Normalize(aNp)
        val bNpNorm = l2Normalize(bNp)
        return sqrt(((aNpNorm - bNpNorm)*(aNpNorm - bNpNorm)).sum())
    }
    fun findDistance(image: Bitmap){
        viewModelScope.launch {
            		....
    			val sourceRepresentVector = mutableListOf(1.0f,2.0f,6.0f,8.0f)
    			val targetRepresentVector = mutableListOf(2.3f,5.6f,8.1f,1.2f)
                        val distance = euclideanDistanceL2(sourceRepresentVector, targetRepresentVector)
                        ....
    			// Do others background task
        }
    }
    

    }`

    Logcat while running: ..... runtime.cc:675] "arch_disk_io_3" prio=5 tid=53 Waiting runtime.cc:675] | group="" sCount=1 ucsCount=0 flags=1 obj=0x12e5d5b0 self=0xb400007910b18400 runtime.cc:675] | sysTid=28927 nice=0 cgrp=default sched=0/0 handle=0x788dfe1cb0 runtime.cc:675] | state=S schedstat=( 5396720 283124 4 ) utm=0 stm=0 core=0 HZ=100 runtime.cc:675] | stack=0x788dede000-0x788dee0000 stackSize=1039KB runtime.cc:675] | held mutexes= runtime.cc:675] native: #00 pc 0000000000075f30 /apex/com.android.runtime/lib64/bionic/libc.so (syscall+32) (BuildId: bbbdeb7c87c74f1491f92c6e605095b0) runtime.cc:675] native: #01 pc 0000000000446c08 /apex/com.android.art/lib64/libart.so (art::Thread::Park(bool, long)+404) (BuildId: 56e704c544e6c624201be2ab4933e853) runtime.cc:675] native: #02 pc 0000000000446530 /apex/com.android.art/lib64/libart.so (art::Unsafe_park(_JNIEnv*, _jobject*, unsigned char, long) (.__uniq.319429422067363160645159987129209045680)+148) (BuildId: 56e704c544e6c624201be2ab4933e853) runtime.cc:675] at jdk.internal.misc.Unsafe.park(Native method) runtime.cc:675] - waiting on an unknown object runtime.cc:675] at java.util.concurrent.locks.LockSupport.park(LockSupport.java:194) runtime.cc:675] at java.util.concurrent.locks.AbstractQueuedSynchronizer$ConditionObject.await(AbstractQueuedSynchronizer.java:2081) runtime.cc:675] at java.util.concurrent.LinkedBlockingQueue.take(LinkedBlockingQueue.java:433) runtime.cc:675] at java.util.concurrent.ThreadPoolExecutor.getTask(ThreadPoolExecutor.java:1063) runtime.cc:675] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1123) runtime.cc:675] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:637) runtime.cc:675] at java.lang.Thread.run(Thread.java:1012) runtime.cc:675] runtime.cc:675] Aborting thread: runtime.cc:675] "main" prio=10 tid=1 Native runtime.cc:675] | group="" sCount=0 ucsCount=0 flags=0 obj=0x7170d3f8 self=0xb40000799d812400 runtime.cc:675] | sysTid=28644 nice=-10 cgrp=default sched=0/0 handle=0x7a4be0e500 runtime.cc:675] | state=R schedstat=( 3584711965 216954483 1043 ) utm=305 stm=53 core=7 HZ=100 runtime.cc:675] | stack=0x7fdaf94000-0x7fdaf96000 stackSize=8188KB runtime.cc:675] | held mutexes= "abort lock" "mutator lock"(shared held) runtime.cc:675] native: #00 pc 00000000005376cc /apex/com.android.art/lib64/libart.so (art::DumpNativeStack(std::__1::basic_ostream<char, std::__1::char_traits >&, int, BacktraceMap*, char const*, art::ArtMethod*, void*, bool)+128) (BuildId: 56e704c544e6c624201be2ab4933e853) runtime.cc:675] native: #01 pc 00000000006f0e24 /apex/com.android.art/lib64/libart.so (art::Thread::DumpStack(std::__1::basic_ostream<char, std::__1::char_traits >&, bool, BacktraceMap*, bool) const+236) (BuildId: 56e704c544e6c624201be2ab4933e853) A/inhnguyen.xfac: runtime.cc:675] native: #02 pc 00000000006d834c /apex/com.android.art/lib64/libart.so (art::AbortState::DumpThread(std::__1::basic_ostream<char, std::__1::char_traits >&, art::Thread*) const+60) (BuildId: 56e704c544e6c624201be2ab4933e853) runtime.cc:675] native: #03 pc 00000000006d7f80 /apex/com.android.art/lib64/libart.so (art::AbortState::Dump(std::__1::basic_ostream<char, std::__1::char_traits >&) const+400) (BuildId: 56e704c544e6c624201be2ab4933e853) runtime.cc:675] native: #04 pc 00000000006d2b24 /apex/com.android.art/lib64/libart.so (art::Runtime::Abort(char const*)+1016) (BuildId: 56e704c544e6c624201be2ab4933e853) runtime.cc:675] native: #05 pc 0000000000016ea8 /apex/com.android.art/lib64/libbase.so (android::base::SetAborter(std::__1::function<void (char const*)>&&)::$_3::__invoke(char const*)+80) (BuildId: b77c57f68a484ed93d5a7eda59d83bf9) runtime.cc:675] native: #06 pc 0000000000016450 /apex/com.android.art/lib64/libbase.so (android::base::LogMessage::~LogMessage()+352) (BuildId: b77c57f68a484ed93d5a7eda59d83bf9) runtime.cc:675] native: #07 pc 0000000000445224 /apex/com.android.art/lib64/libart.so (art::JavaVMExt::JniAbort(char const*, char const*)+1612) (BuildId: 56e704c544e6c624201be2ab4933e853) runtime.cc:675] native: #08 pc 0000000000329258 /apex/com.android.art/lib64/libart.so (art::JavaVMExt::JniAbortV(char const*, char const*, std::__va_list)+108) (BuildId: 56e704c544e6c624201be2ab4933e853) runtime.cc:675] native: #09 pc 000000000048d59c /apex/com.android.art/lib64/libart.so (art::(anonymous namespace)::ScopedCheck::AbortF(char const*, ...) (.__uniq.99033978352804627313491551960229047428)+144) (BuildId: 56e704c544e6c624201be2ab4933e853) runtime.cc:675] native: #10 pc 0000000000453974 /apex/com.android.art/lib64/libart.so (art::(anonymous namespace)::ScopedCheck::Check(art::ScopedObjectAccess&, bool, char const*, art::(anonymous namespace)::JniValueType*) (.__uniq.99033978352804627313491551960229047428)+4300) (BuildId: 56e704c544e6c624201be2ab4933e853) runtime.cc:675] native: #11 pc 00000000005c8920 /apex/com.android.art/lib64/libart.so (art::(anonymous namespace)::CheckJNI::FindClass(_JNIEnv*, char const*) (.__uniq.99033978352804627313491551960229047428.llvm.5591279935177935698)+188) (BuildId: 56e704c544e6c624201be2ab4933e853) runtime.cc:675] native: #12 pc 0000000000024ca0 /data/data/com.thinhnguyen.xface/cache/jni_multik4678949286564482544/libmultik_jni-androidArm64.so (Java_org_jetbrains_kotlinx_multik_openblas_math_JniMath_sum+460) runtime.cc:675] at org.jetbrains.kotlinx.multik.openblas.math.JniMath.sum(Native method) runtime.cc:675] at org.jetbrains.kotlinx.multik.openblas.math.NativeMath.sum(NativeMath.kt:126) runtime.cc:675] at org.jetbrains.kotlinx.multik.default.math.DefaultMath.sum(DefaultMath.kt:94) runtime.cc:675] at org.jetbrains.kotlinx.multik.ndarray.operations.IteratingNDArrayKt.sum(IteratingNDArray.kt:1242) runtime.cc:675] at com.thinhnguyen.xface.FindDistanceActivityViewModel.l2Normalize(FindDistanceActivityViewModel.kt:50) runtime.cc:675] at com.thinhnguyen.xface.FindDistanceActivityViewModel.euclideanDistanceL2(FindDistanceActivityViewModel.kt:55) runtime.cc:675] at com.thinhnguyen.xface.FindDistanceActivityViewModel.access$euclideanDistanceL2(FindDistanceActivityViewModel.kt:29) runtime.cc:675] at com.thinhnguyen.xface.FindDistanceActivityViewModel$findFace$1.invokeSuspend(FindDistanceActivityViewModel.kt:72) runtime.cc:675] at kotlin.coroutines.jvm.internal.BaseContinuationImpl.resumeWith(ContinuationImpl.kt:33) runtime.cc:675] at kotlinx.coroutines.DispatchedTask.run(DispatchedTask.kt:106) runtime.cc:675] at android.os.Handler.handleCallback(Handler.java:938) runtime.cc:675] at android.os.Handler.dispatchMessage(Handler.java:99) runtime.cc:675] at android.os.Looper.loopOnce(Looper.java:233) runtime.cc:675] at android.os.Looper.loop(Looper.java:344) runtime.cc:675] at android.app.ActivityThread.main(ActivityThread.java:8212) A/inhnguyen.xfac: runtime.cc:675] at java.lang.reflect.Method.invoke(Native method) runtime.cc:675] at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:584) runtime.cc:675] at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1034) runtime.cc:675] A/inhnguyen.xfac: runtime.cc:683] JNI DETECTED ERROR IN APPLICATION: thread Thread[1,tid=28644,Runnable,Thread*=0xb40000799d812400,peer=0x7170d3f8,"main"] using JNI after critical get runtime.cc:683] in call to FindClass runtime.cc:683] from java.lang.Number org.jetbrains.kotlinx.multik.openblas.math.JniMath.sum(java.lang.Object, int, int, int[], int[], int) A/libc: Fatal signal 6 (SIGABRT), code -1 (SI_QUEUE) in tid 28644 (inhnguyen.xface), pid 28644 (inhnguyen.xface) D/ExternalTextureConv: Created output texture: 18 width: 1080 height: 1080 Disconnected from the target VM, address: 'localhost:51535', transport: 'socket'

    My Debug: I found that after execute sum function in l2Normalize the application crashed.

    Please help to explain whether we can use mutik in a coroutine? or if it is an issues please help to fix it

    bug 
    opened by NguyenTrongThinh 3
  • Comparison and getting boolean mask

    Comparison and getting boolean mask

    I have an NDArray (say idmap1) and would like to compare it with a number to get a boolean mask (numpy boolean style), as shown below:

    mask = ((idmap1 == 0) & (idmap2 != 1))
    idmap1[mask] = idmap2[mask]
    

    Is there a way to realize this using multik library? Thank you!

    opened by ashutoshIITK 0
  • Add `pad` function

    Add `pad` function

    I would like to know how to pad using createAlignedNDArray.
    From my understanding this function takes a list of lists and makes every list the max length and pads the remaining with zeros or whatever value you want (for each dim).
    image

    Example:
    Let P be the size of each dims we want our final matrix to be with padding.
    Let W and H be 2 sizes (different) that are less than P.
    For the sake of this example let's say we have W< H < P.
    Let a be an mk array of shape (W, H). Then applying createAlignedNDArray(a.toListD3(), 0.0) would give us a matrix of shape (H, H) padded with zeros.

    While the name of the function seems correct, I'm interested in knowing if it's possible to use this function to transoform a into a matrix of size (P, P) instead.

    Something like, we provide an mk array and can specify the desired padding for each dimensions.
    See https://pytorch.org/docs/stable/generated/torch.nn.functional.pad.html

    If it's possible with createAlignedNDArray then feel free to let me know.

    opened by AlexandreBrown 1
  • Platform-specific artifacts

    Platform-specific artifacts

    I built a program using multik as a dependency and noticed that file size is huge.

    Inside of the built shadow jar, the size of the entry containing all of the native libs for multik was 115MB, compressed.

    I also noticed that the majority of that is unused if targeting only one OS:

    Screen Shot 2022-10-01 at 7 33 31 PM

    Can Multik be built for each OS in different artifacts, kind of like how JavaFX is? Then the developer can include whichever OSs they need to support, and minimize the size of the library if they only need to target one OS.

    opened by mgroth0 3
  • Add support for armv7 and x86_64 for android

    Add support for armv7 and x86_64 for android

    If use multik-default, will still get an INSTALL_FAILED_NO_MATCHING_ABIS error. Because, when building an apk, all dependencies and corresponding native libraries are bundled.

    opened by devcrocod 0
  • Document matrix multiplication/dotMMs behavior

    Document matrix multiplication/dotMMs behavior

    First of all, it doesnt seem there is a purposebuilt matrix multiplication, youre supposed to use dot?

    I'm still investigating that, but as far as I can tell, your "matrix multiplication" (dot /dotMM) does things differently from np.matmul.

    I understand this is in alpha, and excellent documentation should not be expected, but because of the indirections eg via API Layer that may use different implementations, its difficult to find out yourself what its doing, and I'd imagine matrix multiplication to be relevant enough to warrant being documented.

    documentation 
    opened by 9SMTM6 2
Releases(v0.2.1)
  • v0.2.1(Sep 19, 2022)

    ⚠️ WARNING

    In this release, the behavior of range for access has been changed. The previous behavior of start..end returned [start, end - 1]. Now start..end will return [start, end].

    For example:

    val a = mk.arange<Int>(start = 0, stop = 5) // [0, 1, 2, 3, 4]
    
    /*
    * legacy: a[1..3] returns [1, 2]
    */
    a[1..3] // returns [1, 2, 3]
    

    in order to use the range as before you can:

    • start..(end - 1)
    • start until end
    • start..<end - new in kotlin 1.7.20, more in the blog

    Motivation

    I made a mistaken previous decision in order to make a short and convenient entry. And also satisfy users from python. But with the development of Kotlin and the addition of open-ended ranges, this was no longer necessary. This way the new behavior will be consistent with kotlin stdlib, and IDEA hints like start ≤ .. ≤ end will no longer be misleading.

    What's Changed

    • changed behavior for ranges #138
    • added new annotation ExperimentalMultikApi for experimental api
    • added a new function createAlignedNDArray for creating NDArrays from lists and arrays of different sizes #125
    • support for all platforms added to multik-default-jvm. The exception is Android due to the peculiarities of the assembly; only arm64 is supported for multik-default and multik-openblas #124
    • added matrix norms to multik-kotlin #132

    Fixes

    • fixed initialization of engines for Kotlin/JS #139
    • fixed some bugs related to copying to multik-openblas for Kotlin/Native
    • fixed dimension for returned NDArray in sumDN, minDN and others #137
    • fixed a bug in JNI for Android #146
    Source code(tar.gz)
    Source code(zip)
    multik-0.2.1.zip(27.14 MB)
  • V0.2.0(Jul 26, 2022)

    General

    In this release, we have supported multiplatform for all modules. Have support for Android armv8 and Apple Silicon processors. And renamed the modules.

    Features

    • added multiplatform support #8 #17 #20 #23 #89 #90
    • renamed the modules #105
    • added native support of Apple Silicon processor #36
    • added native support of Android armv8 #104
    • added simple way to create complex numbers #56
    • added creating arrays with random elements #60
    • added norm function to multik-openblas #61
    • added statistical functions to multik-openblas #62
    • added expand_dims function #80
    • added creating arrays from Array<PrimitiveArray> #92
    • added converting arrays to primitive arrays #81

    Fixes

    • fixed concatenation of ndarrays with different shapes #83
    • fixed reshape #101
    • fixed copy in ComplexArrays #94
    • fixed initialization of engines #106

    Docs

    • updated dokka plugin #91
    • published new documentation – https://kotlin.github.io/multik/

    Thanks for our contributors

    • Luca Spinazzola (@luca992)
    • Ansh Tyagi (@therealansh)
    • Cagri Yildirim (@cagriyildirimR)
    Source code(tar.gz)
    Source code(zip)
    multik-0.2.0.zip(26.44 MB)
  • v0.1.1(Nov 9, 2021)

    Features

    • added conj function for complex matrices #54
    • added shapes checking for arithmetic operations, and, or, minimum, maximum #59
    • added properties re and im for complex matrices #53

    Fixes

    • fixed a bug when solving linear systems on inconsistent matrices #66
    • fixed concatenate arrays #68
    • fixed ones function #69
    • fixed getrf call for one thread #74
    • fixed complex arithmetic

    Thanks to our contributors:

    • Benjamin Rogge (@plastic-karma)
    • Steven van den Broek (@Yvee1)
    • Konrad Nowicki (@koodzi)
    • Pavel Gorgulov (@devcrocod)
    Source code(tar.gz)
    Source code(zip)
    multik-api-0.1.1.jar(392.20 KB)
    multik-default-0.1.1.jar(14.00 KB)
    multik-jvm-0.1.1.jar(115.07 KB)
    multik-native-0.1.1.jar(21.95 MB)
  • v0.1.0(Oct 11, 2021)

    General

    In this release, the stability and performance of the library have been improved, support for linear algebra methods has been expanded, new operations on arrays, complex numbers have been added, and more.

    • improved performance in arithmetic operations
    • improved performance in dot product of vectors
    • improved performance in sin, cos, log, exp (native)
    • improved type support in math and linalg

    Features

    • added logicalOr and logicalAnd returning an integer array. Will subsequently be changed to a boolean array #48
    • added minimum and maximum functions #47
    • added stack function #45
    • added meshgrid function #30
    • added append function #24, #22
    • added extension functions for multiple methods from math and linalg #15
    • added read/write csv files #14
    • added support for complex numbers and arrays of complex numbers
    • added plu factorization (jvm, native)
    • added function for solving linear systems (jvm, native) #10, #13
    • added inverse function (jvm, native)
    • added qr factorization (jvm, native)
    • added calculation of eigenvalues (jvm, native) and eigenvectors (native)
    • added native vector multiplication #9
    • improved slice #7
    • added multi-index initializers #5
    • added conversions from nested lists to ndarray and back #12
    • added ones function
    • added zeros function to replace empty, empty is deprecated
    • added toType function
    • added absolute values for ndarrays

    Fixes

    • fixed work with complex type in map #43
    • fixed arithmetic for complex #49
    • fixed work with view arrays in several functions including dot #40
    • fixed double comparison #16

    Thanks to our contributors:

    • Pavel Gorgulov (@devcrocod)
    • Sergey (@polka125)
    • Ansh Tyagi (@therealansh)
    • Alexey Zinoviev (@zaleslaw)
    Source code(tar.gz)
    Source code(zip)
    multik-api-0.1.0.jar(388.40 KB)
    multik-default-0.1.0.jar(13.99 KB)
    multik-jvm-0.1.0.jar(115.07 KB)
    multik-native-0.1.0.jar(21.94 MB)
Owner
Kotlin
Kotlin Tools and Libraries
Kotlin
A somewhat copy past of Jetbrain's code from the kotlin plugin repo to make it humanly possible to test Intellij IDEA kotlin plugins that work on kotlin

A somewhat copy past of Jetbrain's code from the kotlin plugin repo to make it humanly possible to test Intellij IDEA kotlin plugins that work on kotlin

common sense OSS 0 Jan 20, 2022
Real life Kotlin Multiplatform project with an iOS application developed in Swift with SwiftUI, an Android application developed in Kotlin with Jetpack Compose and a backed in Kotlin hosted on AppEngine.

Conferences4Hall Real life Kotlin Multiplatform project with an iOS application developed in Swift with SwiftUI, an Android application developed in K

Gérard Paligot 98 Dec 15, 2022
[Android Library] A SharedPreferences helper library to save and fetch the values easily.

Preference Helper A SharedPreferences helper library to save and fetch the values easily. Featured in Use in your project Add this to your module's bu

Naveen T P 13 Apr 4, 2020
Kotlin library for Android

KAndroid Kotlin library for Android providing useful extensions to eliminate boilerplate code in Android SDK and focus on productivity. Download Downl

Paweł Gajda 890 Nov 13, 2022
A Kotlin DSL wrapper around the mikepenz/MaterialDrawer library.

MaterialDrawerKt Create navigation drawers in your Activities and Fragments without having to write any XML, in pure Kotlin code, with access to all t

Márton Braun 517 Nov 19, 2022
🔓 Kotlin version of the popular google/easypermissions wrapper library to simplify basic system permissions logic on Android M or higher.

EasyPermissions-ktx Kotlin version of the popular googlesample/easypermissions wrapper library to simplify basic system permissions logic on Android M

Madalin Valceleanu 326 Dec 23, 2022
Android Spinner Dialog Library supported on both Java and Kotlin, Use for single or multi selection of choice

SpinnerDialog Android Spinner Dialog Library, Use for single or multi selection of choice Android UI Download To include SpinnerDialog in your project

Hamza Khan 55 Sep 15, 2022
A Kotlin library for reactive and boilerplate-free SharedPreferences in Android

KPreferences A Kotlin library for reactive and boilerplate-free Shared Preferences in Android. With KPreferences you can use Kotlin's marvelous delega

Mohamad Amin Mohamadi 19 Dec 16, 2020
AbstractMvp 0.8 0.0 Kotlin is a library that provides abstract components for MVP architecture realization, with problems solutions that are exist in classic MVP.

MinSDK 14+ AbstractMvp AbstractMvp is a library that provides abstract components for MVP architecture realization, with problems solutions that are e

Robert 12 Apr 5, 2022
The most complete and powerful data-binding library and persistence infra for Kotlin 1.3, Android & Splitties Views DSL, JavaFX & TornadoFX, JSON, JDBC & SQLite, SharedPreferences.

Lychee (ex. reactive-properties) Lychee is a library to rule all the data. ToC Approach to declaring data Properties Other data-binding libraries Prop

Mike 112 Dec 9, 2022
A Bluetooth kotlin multiplatform "Cross-Platform" library for iOS and Android

Blue-Falcon A Bluetooth "Cross Platform" Kotlin Multiplatform library for iOS, Android, MacOS, Raspberry Pi and Javascript. Bluetooth in general has t

Andrew Reed 220 Dec 28, 2022
A lightweight cache library written in Kotlin

[NEW] Released to Maven Central: 'com.github.yundom:kache:1.x.x' Kache A runtime in-memory cache. Installation Put this in your build.gradle implemen

Dennis 22 Nov 19, 2022
A Kotlin Android library for content provider queries with reactive streams and coroutines.

Pickpocket An Android library for content provider queries with reactive streams and coroutines. Calendar Contacts SMS MMS Files/Media Call Log Bookma

Chris Basinger 27 Nov 14, 2022
A Kotlin Android library for heuristics evasion that prevents your code from being tested.

EvadeMe An Android library for heuristics evasion that prevents your code from being tested. User Instructions Add the maven repository to your projec

Chris Basinger 29 Dec 26, 2022
Easy lightweight SharedPreferences library for Android in Kotlin using delegated properties

Easy lightweight SharedPreferences library for Android in Kotlin using delegated properties Idea Delegated properties in Kotlin allow you to execute a

null 25 Dec 27, 2022
Android AsyncTask wrapper library, written in Kotlin

KillerTask This is a Kotlin Android library to create async background tasks. Inspired by TinyTask, but more beautiful and easy to use for Kotlin Andr

Inaka 26 Oct 3, 2022
A Kotlin work manager library for Android with progress notifications and Hilt support.

Boot Laces A kotlin work manager library for Android that includes notifications and Hilt support. User Instructions Add the JitPack repository to you

Chris Basinger 35 Oct 8, 2022
Stateful is a Kotlin library which makes Android application development faster and easier.

Stateful Stateful is a Kotlin library which makes Android application development faster and easier. It helps you delete all the boilerplate code for

PicsArt 67 Oct 3, 2022
Android Library for requesting Permissions with Kotlin Coroutines or AndroidX LiveData

PEKO PErmissions with KOtlin Android Permissions with Kotlin Coroutines or LiveData No more callbacks, builders, listeners or verbose code for request

Marko Devcic 133 Dec 14, 2022