-
Notifications
You must be signed in to change notification settings - Fork 1.5k
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
Is there any project that uses the macro "PARAMTEST" to search for optimal P, Q, and R values? #5115
Comments
The PARAMTEST macro is one of several undocumented development hooks left over from the original early 2000s GotoBLAS of Kazushige Goto. I am not aware of any code that uses it for an automated search of parameter space, for all we know it may have been a simple kludge to supply individual "handcrafted" values while bypassing param.h and the values derived from that. |
Hi martin! If we do not "supply individual 'handcrafted' values while bypassing param.h," for a new architecture, are its P, Q, and R values calculated or determined through a search process?
|
As silly as it may read, the conventional wisdom is to start by copying the values from a "similar" cpu and adjusting the P and Q so that I am unsure if anybody has ever tried a fully variational search process to find optimal parameters (which is probably not an easy task given the parameters involved, unless one limits oneself to matrices of fairly similar dimensions), though it would certainly be a good idea to try. One logical place to inject the |
Thanks for explaining the historical background on the parameters! I'll start working on the auto-search implementation. As you mentioned, we're facing two main challenges:
|
I’ve noticed a code snippet in OpenBLAS/driver/level3/gemm.c that looks like this:
However, I’m unable to determine where args->gemm_p, args->gemm_q, and args->gemm_r are set.
I understand that the args structure is initialized in OpenBLAS/interface/gemm.c, but I cannot locate where these specific fields (args->gemm_p, args->gemm_q, args->gemm_r) are assigned values.
My goal is to use the PARAMTEST macro to search for optimal P, Q, and R values on a new RISC-V platform. Does anyone know of any existing code or projects that perform such parameter searches?
Or I can implement this function, and open a pr.
The text was updated successfully, but these errors were encountered: