Bitcoin Forum
April 26, 2024, 09:23:15 PM *
News: Latest Bitcoin Core release: 27.0 [Torrent]
 
   Home   Help Search Login Register More  
Pages: [1] 2 3 »  All
  Print  
Author Topic: [Tool] AMD-Compute-Switcher for switch automatically to compute mode  (Read 17432 times)
Paedy (OP)
Newbie
*
Offline Offline

Activity: 4
Merit: 14


View Profile
January 24, 2018, 12:10:09 PM
Last edit: January 24, 2018, 11:40:08 PM by Paedy
Merited by deadsix (5), kisk (4), tg88 (1), xxcsu (1), bokiminer (1)
 #1

AMD-Compute-Switcher helps you to easily switch between compute and graphics mode.
It loops all registry folders of your AMD software and detects if the card is in graphics or compute mode.
If one is not in compute mode it will try to switch all to compute mode and if all are in compute mode it allows you to go back to graphics mode.

Download: https://mega.nz/#!Qgl3EYxJ!_7Aes-JHrnhGpIl2v_3EwG6E_jAsV_gjyj-Eg3IFGkY (VirusTotal)

Compatible with AMD Crimson software. (17.10.2 and higher because before there is no compute option or you can use blockchain driver instead)

Getting started:
  • Run AMD-Compute-Switcher.exe
  • Read the message, on top you see "switch to compute mode" or "switch to graphics mode". Press OK if you see "switch to compute mode. - this happens if one card is not in compute mode.
  • Reboot

Changelog:
  • 1.0.0: First release with simple switch

Special thanks to this post because I'm using this logic.
https://bitcointalk.org/index.php?topic=2312585.msg23637946#msg23637946

If you have any improvements you can post them here or send me a private message.
1714166595
Hero Member
*
Offline Offline

Posts: 1714166595

View Profile Personal Message (Offline)

Ignore
1714166595
Reply with quote  #2

1714166595
Report to moderator
1714166595
Hero Member
*
Offline Offline

Posts: 1714166595

View Profile Personal Message (Offline)

Ignore
1714166595
Reply with quote  #2

1714166595
Report to moderator
The forum strives to allow free discussion of any ideas. All policies are built around this principle. This doesn't mean you can post garbage, though: posts should actually contain ideas, and these ideas should be argued reasonably.
Advertised sites are not endorsed by the Bitcoin Forum. They may be unsafe, untrustworthy, or illegal in your jurisdiction.
Daniel0303
Newbie
*
Offline Offline

Activity: 31
Merit: 0


View Profile
January 24, 2018, 12:52:12 PM
 #2

AMD-Compute-Switcher helps you to easily switch between compute and graphics mode.
It loops all registry folders of your AMD software and detects if the card is in graphics or compute mode.
If one is not in compute mode it will try to switch all to compute mode and if all are in compute mode it allows you to go back to graphics mode.

Download: (VirusTotal)

Compatible with AMD Crimson software. (17.10.2 and higher because before there is no compute option or you can use blockchain driver instead)

Getting started:
  • Run AMD-Compute-Switcher.exe
  • Read the message, on top you see "switch to compute mode" or "switch to graphics mode". Press OK if you see "switch to compute mode. - this happens if one card is not in compute mode.
  • Reboot

Changelog:
  • 1.0.0: First release with simple switch

Special thanks to this post because I'm using this logic.
https://bitcointalk.org/index.php?topic=2312585.msg23637946#msg23637946

If you have any improvements you can post them here or send me a private message.

Thanks for the tools, will try it on my next build.
Maaim
Newbie
*
Offline Offline

Activity: 6
Merit: 0


View Profile
January 24, 2018, 09:44:01 PM
Last edit: January 24, 2018, 09:57:09 PM by Maaim
 #3

Any chance you can put it out on Mega.nz or Google drive?  The VirusTotal link won't let you download.
CryptoWatcher420
Sr. Member
****
Offline Offline

Activity: 462
Merit: 258

Small Time Miner, Rig Builder, Crypto Trader


View Profile
January 24, 2018, 09:49:35 PM
 #4

yeah I like to grab this as well but I don't wanna sign up just to download 1 file from a place ill prolly never use again

6pin to EPS 12v 4+4pin w/pigtail & 2.5mm barrel plug for Pico Psu for SERVER PSU ONLY GPU MINING RIGS! | Donations: BTC-  | Join Me on Discord! https://discord.gg/VDwWFcK
Paedy (OP)
Newbie
*
Offline Offline

Activity: 4
Merit: 14


View Profile
January 24, 2018, 10:38:54 PM
 #5

yeah I like to grab this as well but I don't wanna sign up just to download 1 file from a place ill prolly never use again

Sorry VirusTotal was only the document where you can see that there is no virus on it.


The forum here removed the link.
I added the mega.nz link now: https://mega.nz/#!Qgl3EYxJ!_7Aes-JHrnhGpIl2v_3EwG6E_jAsV_gjyj-Eg3IFGkY
jkdexpert
Newbie
*
Offline Offline

Activity: 1
Merit: 0


View Profile
January 25, 2018, 03:43:29 PM
 #6

Why is this an .exe executable instead of a simple PowerShell, for example, script?  It's much easier to vet scripts than executables with no source.

Joe
Paedy (OP)
Newbie
*
Offline Offline

Activity: 4
Merit: 14


View Profile
January 25, 2018, 04:15:53 PM
Merited by xandry (2)
 #7

executables with no source.

Yea you are right. But when I started I wanted to create a much bigger software as it is now.
I planned some features for the future so this is not the final version  Cool

Source code from 1.0.0:
Code:
using Microsoft.Win32;
using System;
using System.Collections.Generic;
using System.Windows.Forms;

namespace AMD_Compute_Switcher
{
    static class Program
    {
        [STAThread]
        static void Main()
        {
            RegistryKey localMachineKey = Registry.LocalMachine;
            RegistryKey softwareKey = localMachineKey.OpenSubKey("SYSTEM\\CurrentControlSet\\Control\\Class\\{4d36e968-e325-11ce-bfc1-08002be10318}");
            var cardFolders = softwareKey.GetSubKeyNames();
            Dictionary<string, string> results = new Dictionary<string, string>();
            int notComputeMode = 0;
            int tmp;

            foreach (var cardFolder in cardFolders)
                if (int.TryParse(cardFolder, out tmp))
                {
                    RegistryKey cardRegistry = null;
                    try
                    {
                        cardRegistry = softwareKey.OpenSubKey(cardFolder);
                    }
                    catch (Exception) { }
                    if (cardRegistry != null)
                    {
                        var KMD_EnableInternalLargePage = cardRegistry.GetValue("KMD_EnableInternalLargePage");
                        if (KMD_EnableInternalLargePage == null || KMD_EnableInternalLargePage.ToString() != "2")
                        {
                            notComputeMode++;
                            results.Add(cardFolder, "Not in compute mode");
                        }
                        else
                        {
                            results.Add(cardFolder, "Compute mode");
                        }
                    }
                }

            var cardString = "All cards will be switched to " + (notComputeMode > 0 ? "compute" : "graphics") + " mode!\n";
            foreach (var result in results)
            {
                cardString += "\n" + result.Key + ": " + result.Value;
            }

            if (MessageBox.Show(cardString, "Do you want to switch?", MessageBoxButtons.OKCancel, MessageBoxIcon.Question, MessageBoxDefaultButton.Button1) == DialogResult.OK)
            {
                results = new Dictionary<string, string>();

                foreach (var cardFolder in cardFolders)
                    if (int.TryParse(cardFolder, out tmp))
                    {
                        RegistryKey cardRegistry = null;
                        try
                        {
                            cardRegistry = softwareKey.OpenSubKey(cardFolder, true);
                        }
                        catch (Exception) { }
                        if (cardRegistry != null)
                        {
                            if (notComputeMode > 0)
                            {
                                /** Switch all to compute mode */
                                try { cardRegistry.SetValue("KMD_EnableInternalLargePage", "2", RegistryValueKind.DWord); results.Add(cardFolder, "Success"); }
                                catch(Exception ex) { results.Add(cardFolder, "Error: " + ex.Message); }
                            }
                            else
                            {
                                /** Switch all to graphics mode */
                                try { cardRegistry.DeleteValue("KMD_EnableInternalLargePage"); results.Add(cardFolder, "Success"); }
                                catch (Exception ex) { results.Add(cardFolder, "Error: " + ex.Message); }
                            }
                        }
                    }
               
                cardString = "Switched successfully to " + (notComputeMode > 0 ? "compute" : "graphics") + " mode!\n";
                foreach (var result in results)
                {
                    cardString += "\n" + result.Key + ": " + result.Value;
                }

                MessageBox.Show(cardString, "Switched successfully!", MessageBoxButtons.OK, MessageBoxIcon.Information);
            }
        }
    }
}
CryptoWatcher420
Sr. Member
****
Offline Offline

Activity: 462
Merit: 258

Small Time Miner, Rig Builder, Crypto Trader


View Profile
January 27, 2018, 01:22:11 PM
 #8

any possibility to allow the program to detect how many gpus the rig has? I noticed it just sets 11 or 12 gpus to compute or graphics mode without actually knowing how many gpus its actually setting

6pin to EPS 12v 4+4pin w/pigtail & 2.5mm barrel plug for Pico Psu for SERVER PSU ONLY GPU MINING RIGS! | Donations: BTC-  | Join Me on Discord! https://discord.gg/VDwWFcK
Amstellodamois
Newbie
*
Offline Offline

Activity: 182
Merit: 0


View Profile
February 03, 2018, 01:55:34 PM
Last edit: February 03, 2018, 08:38:53 PM by Amstellodamois
 #9

Is it possible to delete the AMD settings program if you use that?
(To avoid it going back for default settings)



EDIT : You can rename it, so it doesn't load on startup.
zeef
Newbie
*
Offline Offline

Activity: 296
Merit: 0


View Profile
February 03, 2018, 03:12:42 PM
 #10

Is it possible to delete the AMD settings program if you use that?
(To avoid it going back for default settings)

If restarts from kernel power errors or overclocked failure right?

It was a good ideia, or if wattman can startup the profile we choose on restart like afterburner, right?

Im interested too Smiley
Amstellodamois
Newbie
*
Offline Offline

Activity: 182
Merit: 0


View Profile
February 03, 2018, 06:06:31 PM
 #11

Why is this an .exe executable instead of a simple PowerShell, for example, script?  It's much easier to vet scripts than executables with no source.
Agreed
kisk
Full Member
***
Offline Offline

Activity: 126
Merit: 100


View Profile
February 04, 2018, 07:04:47 PM
 #12

Thank you for this. My control center would not save settings even after a driver wipe/reinstall. This saved the day!
phuocduong
Member
**
Offline Offline

Activity: 182
Merit: 10


View Profile
February 23, 2018, 10:05:40 AM
 #13

Thank you for this
preda
Sr. Member
****
Offline Offline

Activity: 756
Merit: 250


View Profile
February 23, 2018, 10:30:09 AM
 #14

what is this tool? i dont understand

i have blockchain driver and my amd rx works good
Amstellodamois
Newbie
*
Offline Offline

Activity: 182
Merit: 0


View Profile
February 23, 2018, 02:52:28 PM
 #15

It's useful if you don't use the blockchain drivers.
Bigdrago
Newbie
*
Offline Offline

Activity: 312
Merit: 0


View Profile
February 24, 2018, 09:31:12 PM
 #16

I have 13 gpu, But it detects 14? From GPU 0000 to GPU 0013
Amstellodamois
Newbie
*
Offline Offline

Activity: 182
Merit: 0


View Profile
February 24, 2018, 11:06:55 PM
 #17

Maybe your onboard graphics?
Bigdrago
Newbie
*
Offline Offline

Activity: 312
Merit: 0


View Profile
February 25, 2018, 04:34:12 AM
 #18

Maybe your onboard graphics?

Intel pentium with compute mode?Smiley
jsanzsp
Newbie
*
Offline Offline

Activity: 72
Merit: 0


View Profile
March 02, 2018, 08:26:37 PM
 #19

very useful thanks
Crate Mayne
Member
**
Offline Offline

Activity: 95
Merit: 11


View Profile
March 06, 2018, 06:10:15 AM
Last edit: March 06, 2018, 06:48:55 AM by Crate Mayne
 #20

Solid tool, appreciate the work! Radeon Settings app is so unbearably slow to cycle through switching cards one by one.

And with that said, I'd hate to ask, but anyway to implement a detection of IGPU? Feel like I'm gonna break something hitting "ok" with the IGPU listed as one of the cards.
Pages: [1] 2 3 »  All
  Print  
 
Jump to:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.19 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!