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.

Reply via email to