![]() |
[QUOTE=Mini-Geek;352595]It should only kill the one instance. I'll investigate this bug soon, and let you know what I figure out.[/QUOTE]
I haven't been able to reproduce it, and don't see how it could be happening. The way I kill the process is by the PID (process ID), so it shouldn't be killing both just because the names are the same. I only have one CUDA-capable graphics card in my computer, so I'm testing this with a dummy program, not the real mfaktc, and I can't reproduce this issue. Can you provide more information, please, to help me track this bug down for you? Here are some of my thoughts of what might help me find this, or at least let you have a workaround:[LIST=1][*]Do both controllers' output logs show the 'received signal "SIGINT"...' message when you change speeds on one controller, or does the second controller show a different/no message?[*]Do you have two copies of the controller exe and config in separate directories, or are you trying to run it off of one copy?[*]Try naming your two mfaktc executables something different, and let me know if anything changes. (Xyzzy uses two controllers for his two mfaktc instances, which he gave different names and set "MaxInstances" to 1, and never reported having this issue. He uses different executable names.)[*]Can you confirm that the two mfaktc.exe processes run by the controllers have different PIDs? (in Task Manager, Processes tab, View > Select Columns you can enable the PID column)[*]If you run two mfaktc.exe instances manually, can you stop one via Ctrl+C without stopping both? Can you stop one with this command line, where 1234 is the PID of the one you want to stop (SendCtrlCode.exe is bundled with the controller)? "SendCtrlCode.exe 1234 0"[/LIST] |
You've got a bit more lingo in there than I care to try to figure out after thirteen and a half hours at school, but here's what I've got for you.
Ctrl+C closes only a single instance. Both were named mfaktc.exe. I've changed the one running off my not-display GPU to mfaktc660ti.exe (and the path name in my batch file which forces it to run on the correct GPU). The speed controller now only closes the one instance. I was not even using the controller on the 660Ti since I have no need to change its speed. The instance name was the same but of course it was in its own folder. The process ID's are very different. At least, they are now. Long story short it now works for me. If you want, I could rename the 660Ti instance back to mfaktc.exe and run through your list. Later. |
[QUOTE=TheMawn;352687]You've got a bit more lingo in there than I care to try to figure out after thirteen and a half hours at school, but here's what I've got for you.
Ctrl+C closes only a single instance. Both were named mfaktc.exe. I've changed the one running off my not-display GPU to mfaktc660ti.exe (and the path name in my batch file which forces it to run on the correct GPU). The speed controller now only closes the one instance. I was not even using the controller on the 660Ti since I have no need to change its speed. The instance name was the same but of course it was in its own folder. The process ID's are very different. At least, they are now. Long story short it now works for me. If you want, I could rename the 660Ti instance back to mfaktc.exe and run through your list. Later.[/QUOTE] Hm...still not sure what's causing the problem, and I still haven't been able to reproduce it. At least you've got a workaround for now. Go through the list if you like, when you have time. Thanks for what you've done. :smile: |
I've noticed a couple of times (should happen more often) that the controller gives the running instance of mfaktc five seconds to close, which isn't always enough. For instance, I've ended up with a FAST and MEDIUM instance both running simultaneously, that is, until FAST finishes its current class. But by then, MEDIUM is already running, presumably on the class that FAST hadn't yet finished?
Very small potatoes here, I know. Just wondering if it's something I'm doing wrong. |
[QUOTE=TheMawn;367190]I've noticed a couple of times (should happen more often) that the controller gives the running instance of mfaktc five seconds to close, which isn't always enough. For instance, I've ended up with a FAST and MEDIUM instance both running simultaneously, that is, until FAST finishes its current class. But by then, MEDIUM is already running, presumably on the class that FAST hadn't yet finished?
Very small potatoes here, I know. Just wondering if it's something I'm doing wrong.[/QUOTE] The controller doesn't try to let instances overlap like that, but there could be a bug to allow it. What is it you do that causes this to happen, e.g. are you coming in/out of idle, in/out of a pause/slow while running process, and/or manually trying to change the speed? Also, do you have MaxInstances set to 1 or something else? (and, if you have multiple GPUs, describe the setup of your MaxInstances and MfaktXExeFileName) The config does contain a timeout of how long to wait for mfaktx to close (default 30 seconds), but when that time is up, it (forcibly) kills the process; this shouldn't be the mechanism that would allow both to run at once [CODE] <!-- Time in milliseconds to wait for mfaktx to close before killing it --> <add key="Timeout" value="30000" />[/CODE] It shouldn't do what you're describing regardless of your configuration, just trying to narrow the possibilities... |
I'm away from my machine at the moment but I can get you started.
I have a GTX 670 in slot #1 and GTX 660 Ti in slot #0. Since the GTX 660 Ti doesn't control a monitor, I have no need for controlling its speed so it just runs off a .bat (so I can tell it which slot to use). I use the speed controller for the GTX 670. When I'm not using the machine at all, I set it to fast (I just hit 3 on the controller). When I am using the machine for low-powered tasks like browsing, excel, word, videos, etc I run it on medium. If I'm playing a game I'll turn it off. I just use 2, 3 and 4 to switch between medium, fast and off. Lately I've been using ctrl-c instead to allow mfaktc to close properly before starting the one I want. |
As far as I can remember, I have been using the original version of every file, with the exception of the following in the speed controller batch file.
[CODE]set MF=MFAKTC.EXE -d 1[/CODE] I don't know what else I would have needed to tweak. |
[QUOTE=TheMawn;367220]As far as I can remember, I have been using the original version of every file, with the exception of the following in the speed controller batch file.
[CODE]set MF=MFAKTC.EXE -d 1[/CODE] I don't know what else I would have needed to tweak.[/QUOTE] With your latest posts, I realized that you're using the [URL="http://www.mersenneforum.org/showthread.php?t=17873"]batch file controller[/URL], which is something I didn't write. I assume it's with this batch file controller that you're having your problems. I'd suggest that you change that instance to use my GUI controller. You can configure it to not have any automatic changes, which means it will function basically like the batch file does. Note that the ini file setup is a little different, see [url]http://www.mersenneforum.org/showpost.php?p=352544&postcount=42[/url] (if you're using the latest version of the GUI controller for your other instance, you'll already be familiar with that) |
if you are using Windows 8/8.1 with my SendCtrlCode.exe be sure it is version 1.5.2 which can be seen if you just double-click on that EXE.
However, Mini Geek's product is far superior. |
| All times are UTC. The time now is 08:17. |
Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2021, Jelsoft Enterprises Ltd.