On Wednesday 22 July 2009 19:31:24 Nicolás Alvarez wrote: > El Miércoles 22 Jul 2009 06:25:11 Oliver Bock escribió: > > "Sending sigkill (ctrl-c) to an application that is currently running a > > kernel on the GPU may not result in a clean shutdown of the process as > > the kernel may continue running for a long time afterwards on the GPU. In > > such cases, a system restart may be necessary before running further CUDA > > or graphics applications." > > SIGKILL is the one signal that is impossible to "block" by an application; > the kernel will really kill the app and the app can do nothing to avoid it.
I suppose you mean the BOINC client (not the kernel) killing the app...? That's the problem: *if* a CUDA kernel, or its controlling host application respectively, isn't supposed to be killed (because of the problems described above) this behavior by the BOINC client *might* cause problems. > BOINC doesn't use it to terminate applications. (by the way, ctrl-c is > sigint, not sigkill) > On Unix, when the client asks a science app to quit, the science app will > call plain old exit(). Cleanup functions configured with atexit() will be > called. > On Windows, the science app kills itself with > TerminateProcess(GetCurrentProcess()) But that's not all: have a look in client/app_control.cpp at ACTIVE_TASK_SET::exit_tasks() and ACTIVE_TASK::kill_task(). The app is killed five seconds after a normal shutdown was initiated. If the app fails to shutdown itself, the client then "kills" the app the hard way and the described problem might still occurr... Cheers, Oliver _______________________________________________ boinc_dev mailing list [email protected] http://lists.ssl.berkeley.edu/mailman/listinfo/boinc_dev To unsubscribe, visit the above URL and (near bottom of page) enter your email address.
