Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Add cudaDeviceReset to support VT with CUDA 5.5 #87

Closed
f-schmitt opened this issue Oct 16, 2013 · 5 comments
Closed

Add cudaDeviceReset to support VT with CUDA 5.5 #87

f-schmitt opened this issue Oct 16, 2013 · 5 comments
Assignees
Labels
bug a bug in the project's code
Milestone

Comments

@f-schmitt
Copy link
Member

The correct spot seems to be
pmacc/inlcude/eventSystem/streams/StreamController.hpp:81 (end of destructor).

cudaDeviceReset is necessary to support the CUDA 5.5 CUPTI interface.

@ghost ghost assigned f-schmitt Oct 16, 2013
@ax3l
Copy link
Member

ax3l commented Oct 17, 2013

We may check that all async calls finished before that by cudaDeviceSynchronize.

From the cudaDeviceSynchronize docs:
Note that this function may also return error codes from previous, asynchronous launches.

@f-schmitt
Copy link
Member Author

Yes, we can do that. However, any calls not finished at cudaDeviceReset would imply a bug in pic, since at this point, all tasks must have been finished.

@psychocoderHPC
Copy link
Member

Yes cudaDeviceSynchronize check is importend, but the point of this bug is that we must destroy all streams, events and allocated memory before we use cudaDeviceReset. If we call a cudaFree after cudaDeviceReset cuda crash. The problem is to know when all objects on device are destroyed, because we use a lot of singeltons and those are destroyed after the main function.

My plan is to write clean parallelInit() and parallelFree() to solve this problem. Both functions must called in the main function (same like MPI_init())

@f-schmitt
Copy link
Member Author

+1

@f-schmitt
Copy link
Member Author

pull request

slizzered pushed a commit to slizzered/picongpu that referenced this issue Sep 28, 2015
80bf2b0 Merge pull request ComputationalRadiationPhysics#102 from ComputationalRadiationPhysics/dev
ef29c73 Merge pull request ComputationalRadiationPhysics#101 from slizzered/prepare-version_2_2_crp
248539c changelog entry for 2.2.0crp
f57b59b version bump to 2.2.0crp
3b91c67 Merge pull request ComputationalRadiationPhysics#100 from slizzered/issue98-rename_uint_typedef
aeab138 the backslash is now aligned
af6b7ca changed type to match __ballot signature
17389a5 removed typedef uint32_richtig_huebsch
b5737f7 Merge pull request ComputationalRadiationPhysics#97 from slizzered/issue65-add_comment
1d0b136 Added TODO to boost_static_assert cast warning
da904d0 Merge pull request ComputationalRadiationPhysics#95 from ax3l/topic-wshadow
ca39cbc Fix Wshadow Warnings
0e7e517 Add Wshadow
65e010d Merge pull request ComputationalRadiationPhysics#93 from ax3l/doc-updateCMakeVersion
b4d0657 Add a CMake 2.8.12.2 PPA for Precise
3eb9205 Close ComputationalRadiationPhysics#92: Update CMake Version to 2.8.12.2+
bb96ed9 Merge pull request ComputationalRadiationPhysics#91 from BenjaminW3/patch-3
2fafcbd Merge pull request ComputationalRadiationPhysics#89 from BenjaminW3/patch-1
f09c782 Define __THROW for systems without Glibc
133eb65 Merge pull request ComputationalRadiationPhysics#90 from BenjaminW3/patch-2
01b2dd7 fix a spelling mistake
229c891 fix unconditional usage of getAvailableSlotsHost
1b1819a Merge pull request ComputationalRadiationPhysics#87 from BenjaminW3/fix-struct-class
5f4adf5 fix non-matching class/struct declaration
799d7d7 Merge pull request ComputationalRadiationPhysics#84 from ComputationalRadiationPhysics/dev
1314bf2 Merge pull request ComputationalRadiationPhysics#76 from ComputationalRadiationPhysics/dev
ddeae86 Merge pull request ComputationalRadiationPhysics#56 from ComputationalRadiationPhysics/dev

git-subtree-dir: thirdParty/mallocMC
git-subtree-split: 80bf2b0d0ec33bf350c5de4cc5dc11231f9ee7cd
psychocoderHPC pushed a commit to psychocoderHPC/picongpu that referenced this issue May 9, 2019
a96b293 Merge pull request ComputationalRadiationPhysics#106 from fwyzard/cupla_accelerator_namespace
1af2b2b Merge pull request ComputationalRadiationPhysics#110 from tdd11235813/cmake-macro
663521c Changes function to macro 'CUPLA_ADD_EXECUTABLE'.
a440a7c Fix namespace definition if two accelerators are selected
64f02bb Move all accelerator-specific code to an inline namespece
bbef699 Merge pull request ComputationalRadiationPhysics#105 from fwyzard/tbb_IsThreadSeqAcc
b463a25 Mark the TBB backend as "thread sequential"
b45d4e9 Merge pull request ComputationalRadiationPhysics#102 from psychocoderHPC/topic-updateToLatestAlapkaDev
7e8b832 createTaskExec -> createTaskKernel
84b6dc1 update to latest alapka develop branch
037f7b2 Merge pull request ComputationalRadiationPhysics#100 from DerWaldschrat/dev
7add5ed fix -Wreorder in cuplaPitchedPtr (#4)
9fa745b Merge pull request ComputationalRadiationPhysics#99 from ax3l/topic-cmake312rootHints
041d454 Merge pull request ComputationalRadiationPhysics#98 from DerWaldschrat/dev-fix
ecc5839 CMake: Honor _ROOT Env Hints
24d159a Added conditional check for backends.
5822555 Add cudaEventBlockingSync to event creation
906cd41 Merge pull request ComputationalRadiationPhysics#97 from psychocoderHPC/topic-HIPBackend
bc67259 alpaka backend: HIP
87fe58d Merge pull request ComputationalRadiationPhysics#96 from psychocoderHPC/fix-kernelSharedMemCalc
68877b5 fix dynamic shared mem definition
9452a70 Merge pull request ComputationalRadiationPhysics#95 from psychocoderHPC/topic-updateDocs
8b26918 update docs
e822bfa Merge pull request ComputationalRadiationPhysics#89 from psychocoderHPC/topic-switchToAlpakaDevelop0.4.X
50cedbc alpaka renamings + cmake version incerase
5ecd227 update to alapka dev upcoming version 0.4.X
66a9240 Merge pull request ComputationalRadiationPhysics#94 from psychocoderHPC/topic-ciUpdateToCUDA8
3ba6104 CI: update CUDA from 7.5 to 8.0
5af56ce Merge pull request ComputationalRadiationPhysics#93 from psychocoderHPC/topic-updateCIToClang4
68a6555 Travis: CUDA Compiler Ignore
279bfd0 Travis: Xenial
9d583b7 CI: switch from clan 3.5 to 4.0
11eb874 Merge pull request ComputationalRadiationPhysics#92 from ax3l/topic-ciCMake3110
da617da Travis: CMake 3.11.0
da63524 Merge pull request ComputationalRadiationPhysics#91 from ComputationalRadiationPhysics/dev
66a2da7 Merge pull request ComputationalRadiationPhysics#88 from psychocoderHPC/topic-versionIncreaseTo0.1.1
e029584 version increase to 0.1.1
ffdb268 Merge pull request ComputationalRadiationPhysics#90 from psychocoderHPC/fix-tbbSelection
06030af fix TBB backend activation
aa8a921 Merge pull request ComputationalRadiationPhysics#84 from psychocoderHPC/topic-cuplaGetErrorString
55c99b7 add implementation for `cuplaGetErrorString`
c765052 Merge pull request ComputationalRadiationPhysics#86 from psychocoderHPC/topic-cuplaPeekAtLastError
49612bb Merge pull request ComputationalRadiationPhysics#87 from psychocoderHPC/topic-helpUpdatecuplaGetLastError
c763de4 Merge pull request ComputationalRadiationPhysics#85 from psychocoderHPC/topic-cuplaStreamQuerySupport
5d19923 update documentation of `cuplaGetLastError`
3806b8f implement `cuplaPeekAtLastError()`
2e79816 add `cuplaStreamQuery()`
7c73dc8 Merge pull request ComputationalRadiationPhysics#83 from psychocoderHPC/fix-cuplaGetLastError
b02299a fix `cuplaGetLastError`
1b7d7ea Merge pull request ComputationalRadiationPhysics#81 from tdd11235813/master
b0adfd9 Updates alpaka to 0.3.5.

git-subtree-dir: thirdParty/cupla
git-subtree-split: a96b293dcb14662a57901b55dfedaa1cd615adc9
psychocoderHPC pushed a commit to psychocoderHPC/picongpu that referenced this issue May 17, 2019
a96b293 Merge pull request ComputationalRadiationPhysics#106 from fwyzard/cupla_accelerator_namespace
1af2b2b Merge pull request ComputationalRadiationPhysics#110 from tdd11235813/cmake-macro
663521c Changes function to macro 'CUPLA_ADD_EXECUTABLE'.
a440a7c Fix namespace definition if two accelerators are selected
64f02bb Move all accelerator-specific code to an inline namespece
bbef699 Merge pull request ComputationalRadiationPhysics#105 from fwyzard/tbb_IsThreadSeqAcc
b463a25 Mark the TBB backend as "thread sequential"
b45d4e9 Merge pull request ComputationalRadiationPhysics#102 from psychocoderHPC/topic-updateToLatestAlapkaDev
7e8b832 createTaskExec -> createTaskKernel
84b6dc1 update to latest alapka develop branch
037f7b2 Merge pull request ComputationalRadiationPhysics#100 from DerWaldschrat/dev
7add5ed fix -Wreorder in cuplaPitchedPtr (#4)
9fa745b Merge pull request ComputationalRadiationPhysics#99 from ax3l/topic-cmake312rootHints
041d454 Merge pull request ComputationalRadiationPhysics#98 from DerWaldschrat/dev-fix
ecc5839 CMake: Honor _ROOT Env Hints
24d159a Added conditional check for backends.
5822555 Add cudaEventBlockingSync to event creation
906cd41 Merge pull request ComputationalRadiationPhysics#97 from psychocoderHPC/topic-HIPBackend
bc67259 alpaka backend: HIP
87fe58d Merge pull request ComputationalRadiationPhysics#96 from psychocoderHPC/fix-kernelSharedMemCalc
68877b5 fix dynamic shared mem definition
9452a70 Merge pull request ComputationalRadiationPhysics#95 from psychocoderHPC/topic-updateDocs
8b26918 update docs
e822bfa Merge pull request ComputationalRadiationPhysics#89 from psychocoderHPC/topic-switchToAlpakaDevelop0.4.X
50cedbc alpaka renamings + cmake version incerase
5ecd227 update to alapka dev upcoming version 0.4.X
66a9240 Merge pull request ComputationalRadiationPhysics#94 from psychocoderHPC/topic-ciUpdateToCUDA8
3ba6104 CI: update CUDA from 7.5 to 8.0
5af56ce Merge pull request ComputationalRadiationPhysics#93 from psychocoderHPC/topic-updateCIToClang4
68a6555 Travis: CUDA Compiler Ignore
279bfd0 Travis: Xenial
9d583b7 CI: switch from clan 3.5 to 4.0
11eb874 Merge pull request ComputationalRadiationPhysics#92 from ax3l/topic-ciCMake3110
da617da Travis: CMake 3.11.0
da63524 Merge pull request ComputationalRadiationPhysics#91 from ComputationalRadiationPhysics/dev
66a2da7 Merge pull request ComputationalRadiationPhysics#88 from psychocoderHPC/topic-versionIncreaseTo0.1.1
e029584 version increase to 0.1.1
ffdb268 Merge pull request ComputationalRadiationPhysics#90 from psychocoderHPC/fix-tbbSelection
06030af fix TBB backend activation
aa8a921 Merge pull request ComputationalRadiationPhysics#84 from psychocoderHPC/topic-cuplaGetErrorString
55c99b7 add implementation for `cuplaGetErrorString`
c765052 Merge pull request ComputationalRadiationPhysics#86 from psychocoderHPC/topic-cuplaPeekAtLastError
49612bb Merge pull request ComputationalRadiationPhysics#87 from psychocoderHPC/topic-helpUpdatecuplaGetLastError
c763de4 Merge pull request ComputationalRadiationPhysics#85 from psychocoderHPC/topic-cuplaStreamQuerySupport
5d19923 update documentation of `cuplaGetLastError`
3806b8f implement `cuplaPeekAtLastError()`
2e79816 add `cuplaStreamQuery()`
7c73dc8 Merge pull request ComputationalRadiationPhysics#83 from psychocoderHPC/fix-cuplaGetLastError
b02299a fix `cuplaGetLastError`
1b7d7ea Merge pull request ComputationalRadiationPhysics#81 from tdd11235813/master
b0adfd9 Updates alpaka to 0.3.5.

git-subtree-dir: thirdParty/cupla
git-subtree-split: a96b293dcb14662a57901b55dfedaa1cd615adc9
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
bug a bug in the project's code
Projects
None yet
Development

No branches or pull requests

3 participants