-
Notifications
You must be signed in to change notification settings - Fork 369
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
Add new level-0 macro layer. #830
base: master
Are you sure you want to change the base?
Conversation
Details: - Developed by @fgvanzee and @devinamatthews. - Level-0 scalar macros have moved from a named-based system (e.g. `bli_dcopys( ... )`) to a macro argument-based system (`bli_tcopys( d,d, ... )`). - All macros are explicitly mixed-type. - All input and output operands can have a distinct type (precision and/or domain). Unnecessary computations and spurious NaN/Inf propagation are avoided in mixed-domain cases. - All macros which do math (i.e. not copy/set/etc.) take an additional computational precision. - Tile-level macros, 1m, broadcast-B, and other extensions are also included. - All macros should correctly handle aliasing of input and output operands (this needs to be rigorously checked). - The macros work generically over the defined types -- new types only need limited support (primarily conversion to other types and basic math).
@fgvanzee everything works now, with a full level-0 testsuite. "In-place" axpys, axpbys, xpbys, and scal2s also tested and work correctly. |
Awesome! Many thanks for finishing this up. |
docs/Multithreading.md
Outdated
@@ -38,7 +38,7 @@ To summarize: In order to observe multithreaded parallelism within a BLIS operat | |||
|
|||
BLIS disables multithreading by default. In order to allow multithreaded parallelism from BLIS, you must first enable multithreading explicitly at configure-time. | |||
|
|||
As of this writing, BLIS optionally supports multithreading via OpenMP or POSIX threads(or both). | |||
As of this writing, BLIS optionally supports multithreading via OpenMP or POSIX bli_threads(or both). |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Seems to be a search-and-replace misfire.
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Oh wait, or maybe it's not a typo? Is this meant as a to reference the bli_pthread_*()
API wrapper?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
It is a typo.
Yep, please revert.
________________________________
From: Field G. Van Zee ***@***.***>
Sent: Friday, November 15, 2024 11:34:51 AM
To: flame/blis ***@***.***>
Cc: Matthews, Devin ***@***.***>; Author ***@***.***>
Subject: Re: [flame/blis] Add new level-0 macro layer. (PR #830)
@fgvanzee commented on this pull request.
________________________________
In docs/Multithreading.md<#830 (comment)>:
@@ -38,7 +38,7 @@ To summarize: In order to observe multithreaded parallelism within a BLIS operat
BLIS disables multithreading by default. In order to allow multithreaded parallelism from BLIS, you must first enable multithreading explicitly at configure-time.
…-As of this writing, BLIS optionally supports multithreading via OpenMP or POSIX threads(or both).
+As of this writing, BLIS optionally supports multithreading via OpenMP or POSIX bli_threads(or both).
Seems to be a search-and-replace misfire.
—
Reply to this email directly, view it on GitHub<#830 (review)>, or unsubscribe<https://github.com/notifications/unsubscribe-auth/ABIAZINFNWZ66RXJUIWQDR32AYWDXAVCNFSM6AAAAABRCITQPCVHI2DSMVQWIX3LMV43YUDVNRWFEZLROVSXG5CSMV3GSZLXHMZDIMZZGI2TKOBRGY>.
You are receiving this because you authored the thread.Message ID: ***@***.***>
|
Revert typo in docs. [ci skip]
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
I didn't review the C++ files, but everything else looks good.
OK, I'll want to wait to merge this 'til I clear a few of the other PRs out of the queue. |
Details:
bli_dcopys( ... )
) to a macro argument-based system (bli_tcopys( d,d, ... )
).bli_scal2s
with&x == &y
#828.