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

Question: Do not fully understand --set-coall= outputs #296

Open
syberphunk opened this issue May 29, 2024 · 1 comment
Open

Question: Do not fully understand --set-coall= outputs #296

syberphunk opened this issue May 29, 2024 · 1 comment

Comments

@syberphunk
Copy link

syberphunk commented May 29, 2024

Eg.

./ryzenadj --set-coall=-21
Successfully set coall to 4294967275

./ryzenadj --set-coall=0xFFFEB
Successfully set coall to 1048555

  1. Why is it telling me two different values?
  2. What exactly is set-coall doing and what is the correct value to set it for 'all cores' for 8 cores for a value of -21?

Edit: Ah for number 1. it's because the parameter expects an unsigned 32bit integer and it outputs the max value, but still does something and surprisingly accepts it?

@Erruar
Copy link

Erruar commented Nov 14, 2024

Hello, @syberphunk
To apply Curve Optimizer commands you need to use specific formula.

About Curve Optimizer per-core

You can look there, in my project
->

if (CCD1_1.IsChecked == true) { adjline += $" --set-coper={(0 << 20) | ((int)CCD1_1v.Value & 0xFFFF)} "; }
if (CCD1_2.IsChecked == true) { adjline += $" --set-coper={(1 << 20) | ((int)CCD1_2v.Value & 0xFFFF)} "; }
if (CCD1_3.IsChecked == true) { adjline += $" --set-coper={(2 << 20) | ((int)CCD1_3v.Value & 0xFFFF)} "; }
if (CCD1_4.IsChecked == true) { adjline += $" --set-coper={(3 << 20) | ((int)CCD1_4v.Value & 0xFFFF)} "; }
if (CCD1_5.IsChecked == true) { adjline += $" --set-coper={(4 << 20) | ((int)CCD1_5v.Value & 0xFFFF)} "; }
if (CCD1_6.IsChecked == true) { adjline += $" --set-coper={(5 << 20) | ((int)CCD1_6v.Value & 0xFFFF)} "; }
if (CCD1_7.IsChecked == true) { adjline += $" --set-coper={(6 << 20) | ((int)CCD1_7v.Value & 0xFFFF)} "; }
if (CCD1_8.IsChecked == true) { adjline += $" --set-coper={(7 << 20) | ((int)CCD1_8v.Value & 0xFFFF)} "; }

adjline += $" --set-coper={(needed core index << 20) | (your not hex CO value & 0xFFFF)}"

About Curve Optimizer for all cores

You can look there, in my project
->

if (O1v.Value >= 0.0)
{
      adjline += $" --set-coall={O1v.Value} ";
}
      else
{
      adjline += $" --set-coall={Convert.ToUInt32(0x100000 - (uint)(-1 * (int)O1v.Value))} ";
}

adjline += $" --set-coall={0x100000 - (uint)(-1 * your not hex CO value)} "

How to apply

If you need to apply positive CO +10 for all cores just type it in command. Like --set-coall=10
If you need to apply negative CO like -10 you need to use formula above. Note: RyzenADJ is using integer numbers in input. If you set tctl temp to 90 by command with argument 90 - you will get those 90 in PM Table. No need to convert 90 to hex and then set this in arguments. So here too. You don't need to convert the formula results to hex.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants