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

Nhwc fwd #79

Open
wants to merge 44 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
44 commits
Select commit Hold shift + click to select a range
6a94b64
add 1st version of nhwc
carlushuang Jan 14, 2021
4731118
fixup following part of nhwc
carlushuang Jan 14, 2021
bec0823
Merge remote-tracking branch 'origin/master' into nhwc_fwd
carlushuang Jan 15, 2021
6fa9c74
host build
carlushuang Jan 18, 2021
1b3df13
fix crash
carlushuang Jan 18, 2021
b72e0a1
remove several code
carlushuang Jan 19, 2021
cacc8ef
k_pack for smem
carlushuang Jan 19, 2021
88a3c36
more add
carlushuang Jan 21, 2021
05219e4
update code
carlushuang Jan 24, 2021
a782aaa
support kpack in main loop
carlushuang Jan 24, 2021
c9c97cb
tiny fix kpack
carlushuang Jan 24, 2021
ad0b413
nxe=0 now works!
carlushuang Jan 28, 2021
d23bee5
fix a bug in fwd validation
carlushuang Jan 28, 2021
2647213
fix a bug in non 1x1 case
carlushuang Jan 28, 2021
801261f
add magic div
carlushuang Jan 28, 2021
8afe37a
fwd support split batch (#78)
carlushuang Jan 29, 2021
5bb8587
split 4G support
carlushuang Jan 29, 2021
fc4e716
fix type
carlushuang Jan 29, 2021
17f1e52
Merge remote-tracking branch 'origin/master' into nhwc_fwd
carlushuang Jan 29, 2021
425ddbc
fix size
carlushuang Jan 29, 2021
f381b0c
Merge remote-tracking branch 'origin/master' into nhwc_fwd
carlushuang Feb 2, 2021
ded5a91
remove a useless check
carlushuang Feb 5, 2021
20d501b
pad gemm_n
carlushuang Feb 7, 2021
24d72e7
update nhwc
carlushuang Feb 19, 2021
1c62a04
refactor some code
carlushuang Feb 22, 2021
8edb357
further update
carlushuang Feb 25, 2021
ba43174
update code
carlushuang Mar 2, 2021
830c21d
enable magic div by default
carlushuang Mar 2, 2021
7cbc45b
fix a bug in magic number calculation
carlushuang Mar 2, 2021
6b2ddb2
update small change
carlushuang Mar 3, 2021
c40dc9b
inference prototype for gfx1030
carlushuang Mar 11, 2021
6359fe5
gfx1030 kernel asm
carlushuang Mar 11, 2021
6813498
pretty asm
carlushuang Mar 11, 2021
6b05999
tiny fix
carlushuang Mar 11, 2021
f533622
256x16 tile size
carlushuang Mar 11, 2021
de7c670
proper global inst
carlushuang Mar 12, 2021
798c0a4
remove limitation
carlushuang Mar 18, 2021
3d62902
Merge remote-tracking branch 'origin/nhwc_fwd' into nhwc_fwd
carlushuang Mar 18, 2021
4d57876
add create_base_args
carlushuang Mar 22, 2021
d756706
Nhwc fwd gemmk split (#88)
carlushuang Mar 22, 2021
cf45e48
fix a bug in find max gks
carlushuang Mar 22, 2021
2cba95c
add missing configs
carlushuang Mar 22, 2021
2dc86a8
Nhwc inference test gfx1030 (#90)
carlushuang Mar 22, 2021
ae7cef3
ignore print in wrw driver
carlushuang Mar 23, 2021
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
927 changes: 927 additions & 0 deletions config/igemm_fwd_gtc_gfx908_nhwc.config

Large diffs are not rendered by default.

25 changes: 24 additions & 1 deletion driver/args.h
Original file line number Diff line number Diff line change
Expand Up @@ -157,14 +157,37 @@ class args_t {
std::unordered_map<char, args_input_t> input_map;
};

static inline std::string create_base_args(int argc, char *argv[]) {
if(argc < 2)
{
printf("Invalid Number of Input Arguments\n");
exit(0);
}

std::string arg = argv[1];

if(arg != "conv" && arg != "convfp16" && arg != "convint8" && arg != "--version")
{
printf("Invalid Base Input Argument\n");
exit(0);
}
else if(arg == "-h" || arg == "--help" || arg == "-?")
exit(0);
else
return arg;
}

static inline args_t create_conv_args(int argc, char *argv[]) {
const std::string base("conv");
const std::string base = create_base_args(argc, argv);
if (argc >= 2 && argv[1] != base) {
printf("not proper base arg name");
exit(1);
}

args_t args;
args.insert_arg("in_layout", 'I', "NCHW", "Input Layout (Default=NCHW)", "string");
args.insert_arg("out_layout", 'O', "NCHW", "Output Layout (Default=NCHW)", "string");
args.insert_arg("fil_layout", 'f', "NCHW", "Input Layout (Default=NCHW)", "string");
args.insert_arg("spatial_dim", '_', "2",
"convolution spatial dimension (Default-2)", "int");
args.insert_arg("forw", 'F', "0", "Flag enables fwd, bwd, wrw convolutions"
Expand Down
Loading