Skip to content

Improve GPU memory benchmark#7495

Merged
davidrohr merged 8 commits intoAliceO2Group:devfrom
mconcas:gpu-benchmark
Nov 3, 2021
Merged

Improve GPU memory benchmark#7495
davidrohr merged 8 commits intoAliceO2Group:devfrom
mconcas:gpu-benchmark

Conversation

@mconcas
Copy link
Copy Markdown
Collaborator

@mconcas mconcas commented Nov 2, 2021

@davidrohr to keep track of the status:

  • sequential kernels should use that approach to split the access of the blocks among the chunks, concurrent kernels should stay as they are.
  • concurrent total throughput measurement should be based on a measurement of the host time.
  • benchmark should check that the chunk size does not go out of bounds of the allocated memory and do not intersect each others.
  • benchmarks to accept fractionary boundaries and sizes for chunks

@mconcas mconcas requested a review from davidrohr as a code owner November 2, 2021 15:28
@davidrohr
Copy link
Copy Markdown
Collaborator

thx, looks good so far!

@alibuild
Copy link
Copy Markdown
Collaborator

alibuild commented Nov 3, 2021

Error while checking build/O2/fullCI for 337f682 at 2021-11-03 02:43:

sw/BUILD/O2DPG-latest/log
++ rsync -a '--exclude=**/.git' --delete --delete-excluded /sw/SOURCES/O2DPG/master/daa2e0add3/ /sw/INSTALLROOT/7d2a346391c70dd4e57039bf2f5bb8a6b8ea9c1a/slc8_x86-64/O2DPG/master-local1/
++ mkdir -p /sw/INSTALLROOT/7d2a346391c70dd4e57039bf2f5bb8a6b8ea9c1a/slc8_x86-64/O2DPG/master-local1/etc/modulefiles
++ alibuild-generate-module
DEFAULTS_RELEASE is a build_requires. Skipping loading the associated module.
++ cat
sw/BUILD/Control-Core-latest/log
go: downloading golang.org/x/term v0.0.0-20201210144234-2321bbc49cbf
go: downloading github.com/gdamore/tcell/v2 v2.1.0
go: downloading github.com/pquerna/ffjson v0.0.0-20190930134022-aa0246cd15f7
go: downloading github.com/Masterminds/goutils v1.1.1
go: downloading github.com/huandu/xstrings v1.3.2
go: downloading github.com/xeipuuv/gojsonreference v0.0.0-20180127040603-bd5ef7bd5415
go: downloading github.com/kballard/go-shellquote v0.0.0-20180428030007-95032a82bc51
go: downloading github.com/mwitkow/go-proto-validators v0.0.0-20180403085117-0950a7990007
go: downloading github.com/Masterminds/semver v1.5.0
go: downloading github.com/bketelsen/crypt v0.0.3
go: downloading google.golang.org/appengine v1.6.7
go: downloading github.com/xeipuuv/gojsonpointer v0.0.0-20190905194746-02993c407bfb
go: downloading github.com/hashicorp/serf v0.9.5
go: downloading github.com/gdamore/encoding v1.0.0
go: downloading cloud.google.com/go v0.76.0
go: downloading google.golang.org/api v0.39.0
go: downloading github.com/coreos/etcd v3.3.25+incompatible
go: downloading github.com/armon/go-metrics v0.3.6
go: downloading github.com/hashicorp/go-immutable-radix v1.3.0
go: downloading golang.org/x/xerrors v0.0.0-20200804184101-5ec99f83aff1
go: downloading golang.org/x/mod v0.4.2
go: downloading github.com/hashicorp/golang-lru v0.5.4
go: downloading cloud.google.com/go/firestore v1.4.0
go: downloading github.com/googleapis/gax-go/v2 v2.0.5
go: downloading go.opencensus.io v0.22.6
go: downloading github.com/jstemmer/go-junit-report v0.9.1
go: downloading golang.org/x/lint v0.0.0-20201208152925-83fdc39ff7b5
go: downloading github.com/modern-go/reflect2 v1.0.1
go: downloading github.com/json-iterator/go v1.1.10
go: downloading github.com/golang/groupcache v0.0.0-20200121045136-8c9f03a8e57e
go: downloading github.com/coreos/go-semver v0.3.0
go: downloading github.com/modern-go/concurrent v0.0.0-20180306012644-bacd9c7ef1dd
go: downloading github.com/google/go-cmp v0.5.4
�[1;33mcurl odc.proto�[0m
�[1;33mcurl ddsched.proto�[0m
�[1;33mpatch odc.proto�[0m
++ make 'WHAT=o2-aliecs-core o2-aliecs-executor o2-apricot'
�[1;33mgo build -mod=vendor�[0m ./cmd/o2-aliecs-core  �[1;33m==>�[0m  �[1;34m./bin/o2-aliecs-core�[0m
�[1;33mgo build -mod=vendor�[0m ./cmd/o2-aliecs-executor  �[1;33m==>�[0m  �[1;34m./bin/o2-aliecs-executor�[0m
�[1;33mcopy�[0m ./cmd/o2-aliecs-shmcleaner  �[1;33m==>�[0m  �[1;34m./bin/o2-aliecs-shmcleaner�[0m
�[1;33mgo build -mod=vendor�[0m ./cmd/o2-apricot  �[1;33m==>�[0m  �[1;34m./bin/o2-apricot�[0m
++ mkdir -p /sw/INSTALLROOT/c4c1172e0814d272de4ccd22ba4cc1ea8de8a6f8/slc8_x86-64/Control-Core/v0.28.0-local1/bin
++ rsync -a --delete bin/ /sw/INSTALLROOT/c4c1172e0814d272de4ccd22ba4cc1ea8de8a6f8/slc8_x86-64/Control-Core/v0.28.0-local1/bin

Full log here.

sink += ptr[i];
}
blockPtrs[blockIdx.x][threadIdx.x] = sink;
block_ptr[blockIdx.x][threadIdx.x] = sink;
Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

you can just use ptr here instead of block_ptr[blockIdx.x] :)

@davidrohr
Copy link
Copy Markdown
Collaborator

thx, this looks good!
Will try to merge for tomorrow's nightly, then we can easily test it on the EPN tomorrow.

@mconcas
Copy link
Copy Markdown
Collaborator Author

mconcas commented Nov 3, 2021

thx, this looks good! Will try to merge for tomorrow's nightly, then we can easily test it on the EPN tomorrow.

thanks a lot!

@davidrohr
Copy link
Copy Markdown
Collaborator

do you want to partially squash, or shall I squash the whole PR?

@mconcas
Copy link
Copy Markdown
Collaborator Author

mconcas commented Nov 3, 2021

You can squash, np

@davidrohr davidrohr merged commit b31f0f4 into AliceO2Group:dev Nov 3, 2021
ezradlesser pushed a commit to ezradlesser/AliceO2 that referenced this pull request Dec 2, 2021
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Development

Successfully merging this pull request may close these issues.

3 participants