Skip to content

Extra long worker load time on 1.13+ #87

@christiangnrd

Description

@christiangnrd

Using #86, I noticed that on 1.13 and 1.14, the first worker init time is MUCH longer and then it goes back down to 1.12. timings when rerunning the test set if no code has been changed.

GPUArrays runs on JuliaGPU/GPUArrays.jl/pull/685:

1.12.4 run 1:

     Testing Running tests...
Running 1 tests in parallel. If this is too many, specify the `--jobs=N` argument to the tests, or set the `JULIA_CPU_THREADS` environment variable.
                    │          │   Init   │ ──────────────── CPU ──────────────── │
Test       (Worker) │ Time (s) │ time (s) │ GC (s) │ GC % │ Alloc (MB) │ RSS (MB) │
Array/vectors   (1) │     0.28 │     6.08 │   0.00 │  0.0 │      42.14 │   502.08 │

Test Summary: | Pass  Total  Time
  Overall     |   10     10  8.3s
    SUCCESS     CPU Time: 6.36s; CPU Test Time: 0.22s
     Testing GPUArrays tests passed 

1.12.4 run 2:

     Testing Running tests...
Running 1 tests in parallel. If this is too many, specify the `--jobs=N` argument to the tests, or set the `JULIA_CPU_THREADS` environment variable.
                    │          │   Init   │ ──────────────── CPU ──────────────── │
Test       (Worker) │ Time (s) │ time (s) │ GC (s) │ GC % │ Alloc (MB) │ RSS (MB) │
Array/vectors   (1) │     0.28 │     6.10 │   0.00 │  0.0 │      42.14 │   503.17 │

Test Summary: | Pass  Total  Time
  Overall     |   10     10  8.3s
    SUCCESS     CPU Time: 6.39s; CPU Test Time: 0.23s
     Testing GPUArrays tests passed 

1.13 beta 2 run 1:

Precompiling for configuration --code-coverage=none --color=yes --warn-overwrite=yes --depwarn=yes --inline=yes --startup-file=no --track-allocation=none
Precompiling packages finished.
  3 dependencies successfully precompiled in 4 seconds. 72 already precompiled.
     Testing Running tests...
Running 1 tests in parallel. If this is too many, specify the `--jobs=N` argument to the tests, or set the `JULIA_CPU_THREADS` environment variable.
                    │          │   Init   │ ──────────────── CPU ──────────────── │
Test       (Worker) │ Time (s) │ time (s) │ GC (s) │ GC % │ Alloc (MB) │ RSS (MB) │
Array/vectors   (1) │     0.24 │    13.69 │   0.00 │  0.0 │      31.03 │   534.02 │

Test Summary: | Pass  Total   Time
  Overall     |   10     10  15.3s
    SUCCESS     CPU Time: 13.94s; CPU Test Time: 0.24s
     Testing GPUArrays tests passed

1.13 beta 2 run 2:

     Testing Running tests...
Running 1 tests in parallel. If this is too many, specify the `--jobs=N` argument to the tests, or set the `JULIA_CPU_THREADS` environment variable.
                    │          │   Init   │ ──────────────── CPU ──────────────── │
Test       (Worker) │ Time (s) │ time (s) │ GC (s) │ GC % │ Alloc (MB) │ RSS (MB) │
Array/vectors   (1) │     0.24 │     6.46 │   0.00 │  0.0 │      31.51 │   486.16 │

Test Summary: | Pass  Total  Time
  Overall     |   10     10  8.2s
    SUCCESS     CPU Time: 6.70s; CPU Test Time: 0.24s
     Testing GPUArrays tests passed 
Metal.jl runs on JuliaGPU/Metal.jl/pull/739:

1.12.4 run 1:

Running 1 tests in parallel. If this is too many, specify the `--jobs=N` argument to the tests, or set the `JULIA_CPU_THREADS` environment variable.
               │          │   Init   │ ──────────────── CPU ──────────────── │
Test  (Worker) │ Time (s) │ time (s) │ GC (s) │ GC % │ Alloc (MB) │ RSS (MB) │
mtl/size   (1) │     0.20 │     6.52 │   0.00 │  0.0 │      19.49 │   557.38 │

Test Summary: | Pass  Total  Time
  Overall     |   16     16  8.3s
    SUCCESS     CPU Time: 6.72s; CPU Test Time: 0.13s
     Testing Metal tests passed 

1.12.4 run 2:

Running 1 tests in parallel. If this is too many, specify the `--jobs=N` argument to the tests, or set the `JULIA_CPU_THREADS` environment variable.
               │          │   Init   │ ──────────────── CPU ──────────────── │
Test  (Worker) │ Time (s) │ time (s) │ GC (s) │ GC % │ Alloc (MB) │ RSS (MB) │
mtl/size   (1) │     0.20 │     6.85 │   0.00 │  0.0 │      19.49 │   559.36 │

Test Summary: | Pass  Total  Time
  Overall     |   16     16  8.2s
    SUCCESS     CPU Time: 7.05s; CPU Test Time: 0.13s
     Testing Metal tests passed

1.13 beta 2 run 1:

Running 1 tests in parallel. If this is too many, specify the `--jobs=N` argument to the tests, or set the `JULIA_CPU_THREADS` environment variable.
               │          │   Init   │ ──────────────── CPU ──────────────── │
Test  (Worker) │ Time (s) │ time (s) │ GC (s) │ GC % │ Alloc (MB) │ RSS (MB) │
mtl/size   (1) │     0.17 │    36.35 │   0.00 │  0.0 │      14.55 │   595.73 │

Test Summary: | Pass  Total   Time
  Overall     |   16     16  38.4s
    SUCCESS     CPU Time: 36.51s; CPU Test Time: 0.16s
     Testing Metal tests passed 

1.13 beta 2 run 2:

Running 1 tests in parallel. If this is too many, specify the `--jobs=N` argument to the tests, or set the `JULIA_CPU_THREADS` environment variable.
               │          │   Init   │ ──────────────── CPU ──────────────── │
Test  (Worker) │ Time (s) │ time (s) │ GC (s) │ GC % │ Alloc (MB) │ RSS (MB) │
mtl/size   (1) │     0.19 │     7.08 │   0.00 │  0.0 │      14.53 │   536.44 │

Test Summary: | Pass  Total  Time
  Overall     |   16     16  8.3s
    SUCCESS     CPU Time: 7.27s; CPU Test Time: 0.18s
     Testing Metal tests passed 

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions