-
Notifications
You must be signed in to change notification settings - Fork 14.4k
[NVPTX] Add prefetch tensormap variant #146203
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
base: main
Are you sure you want to change the base?
Changes from 8 commits
7e3815b
775daa3
aa8e4d0
6931c80
887e139
9ddbcfe
383d07e
0851ae0
9ea1ca3
0d26914
bab560b
f009291
2457b1a
ee0e82c
45f5af0
ec1e1a0
7256bc6
4745db5
1102a58
81865ad
dec2420
18a25db
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -746,33 +746,27 @@ foreach dim = [1, 2, 3, 4, 5] in { | |
|
||
//Prefetch and Prefetchu | ||
|
||
class PREFETCH_INTRS<string InstName> : | ||
class PREFETCH_INTRS<string InstName, string IntrName> : | ||
abhilash1910 marked this conversation as resolved.
Show resolved
Hide resolved
|
||
BasicNVPTXInst<(outs), (ins ADDR:$addr), | ||
InstName, | ||
[(!cast<Intrinsic>(!strconcat("int_nvvm_", | ||
!subst(".", "_", InstName))) addr:$addr)]>, | ||
[(!cast<Intrinsic>(IntrName) addr:$addr)]>, | ||
Requires<[hasPTX<80>, hasSM<90>]>; | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Why have these predicates been removed? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Yes this needs to be added, fixing in progress. Thanks There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Has this been fixed? There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. Missed this, will update. thanks |
||
|
||
|
||
def PREFETCH_L1 : PREFETCH_INTRS<"prefetch.L1">; | ||
def PREFETCH_L2 : PREFETCH_INTRS<"prefetch.L2">; | ||
def PREFETCH_GLOBAL_L1 : PREFETCH_INTRS<"prefetch.global.L1">; | ||
def PREFETCH_LOCAL_L1 : PREFETCH_INTRS<"prefetch.local.L1">; | ||
def PREFETCH_GLOBAL_L2 : PREFETCH_INTRS<"prefetch.global.L2">; | ||
def PREFETCH_LOCAL_L2 : PREFETCH_INTRS<"prefetch.local.L2">; | ||
|
||
def PREFETCH_GLOBAL_L2_EVICT_NORMAL : BasicNVPTXInst<(outs), (ins ADDR:$addr), | ||
"prefetch.global.L2::evict_normal", | ||
[(int_nvvm_prefetch_global_L2_evict_normal addr:$addr)]>, | ||
Requires<[hasPTX<80>, hasSM<90>]>; | ||
|
||
def PREFETCH_GLOBAL_L2_EVICT_LAST : BasicNVPTXInst<(outs), (ins ADDR:$addr), | ||
"prefetch.global.L2::evict_last", | ||
[(int_nvvm_prefetch_global_L2_evict_last addr:$addr)]>, | ||
Requires<[hasPTX<80>, hasSM<90>]>; | ||
|
||
|
||
def PREFETCHU_L1 : PREFETCH_INTRS<"prefetchu.L1">; | ||
def PREFETCH_L1 : PREFETCH_INTRS<"prefetch.L1", "int_nvvm_prefetch_L1">; | ||
def PREFETCH_L2 : PREFETCH_INTRS<"prefetch.L2", "int_nvvm_prefetch_L2">; | ||
def PREFETCH_GLOBAL_L1 : PREFETCH_INTRS<"prefetch.global.L1", "int_nvvm_prefetch_global_L1">; | ||
def PREFETCH_LOCAL_L1 : PREFETCH_INTRS<"prefetch.local.L1", "int_nvvm_prefetch_local_L1">; | ||
def PREFETCH_GLOBAL_L2 : PREFETCH_INTRS<"prefetch.global.L2", "int_nvvm_prefetch_global_L2">; | ||
def PREFETCH_LOCAL_L2 : PREFETCH_INTRS<"prefetch.local.L2", "int_nvvm_prefetch_local_L2">; | ||
def PREFETCH_CONST_TENSORMAP : PREFETCH_INTRS<"prefetch.const.tensormap", | ||
"int_nvvm_prefetch_const_tensormap">; | ||
def PREFETCH_GENERIC_TENSORMAP : PREFETCH_INTRS<"prefetch.tensormap", | ||
"int_nvvm_prefetch_generic_tensormap">; | ||
def PREFETCH_GLOBAL_L2_EVICT_NORMAL : PREFETCH_INTRS<"prefetch.global.L2::evict_normal", | ||
"int_nvvm_prefetch_global_L2_evict_normal">; | ||
def PREFETCH_GLOBAL_L2_EVICT_LAST : PREFETCH_INTRS<"prefetch.global.L2::evict_last", | ||
"int_nvvm_prefetch_global_L2_evict_last">; | ||
def PREFETCHU_L1 : PREFETCH_INTRS<"prefetchu.L1", "int_nvvm_prefetchu_L1">; | ||
|
||
//Applypriority intrinsics | ||
class APPLYPRIORITY_L2_INTRS<string addrspace> : | ||
|
Uh oh!
There was an error while loading. Please reload this page.