Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
468 commits
Select commit Hold shift + click to select a range
324f7ef
Add AIT_TIME_COMPILATION description to env.rst (#356)
apivovarov Mar 2, 2023
81b2cc1
Fix code in py_design.rst (#352)
apivovarov Mar 3, 2023
35ec3e6
fix profiler timeout message (#358)
tenpercent Mar 3, 2023
c12674d
resort to the old detect_target approach if pycuda is not present (#360)
Mar 3, 2023
0a5b3b6
Implement expand op (#312)
kadeng Mar 3, 2023
75f5451
enabled bmm_ccr/bmm_rrr + concat fusion (#359)
Mar 4, 2023
b677e71
fixed a couple of linter errors (#362)
Mar 4, 2023
da1cd1e
enabled dynamic h/w for conv (#363)
Mar 6, 2023
ba3abc8
Set the leftmost most frequent dim as batch size (#357)
aakhundov Mar 6, 2023
a7115fc
Need to justify None before compare (#366)
brad-mengchi Mar 6, 2023
b5e4dec
Set batch_dim in make_jagged if zero (#364)
aakhundov Mar 7, 2023
086d73a
AIT Splitter with allow_int_inputs option (#371)
tissue3 Mar 7, 2023
46e9004
transformer converter
wushirong Mar 7, 2023
6019b73
Remove noop dropout op with acc tracer (#377)
tissue3 Mar 8, 2023
c7a8881
Check if target resolution can be divided by 64 (#355)
Stax124 Mar 8, 2023
810a5c4
Updated the softmax wiki link and add images (#379)
tissue3 Mar 8, 2023
3a6d48f
o2 benchmark (#372)
frank-wei Mar 8, 2023
97f4c38
Add fast_tanh(half2) fallback for CUDA_ARCH < 75 (#374)
Mar 8, 2023
20e5250
Make JaggedIntVar hashable (#370)
aakhundov Mar 8, 2023
62c87e2
Add jagged_to_dense op (#380)
brad-mengchi Mar 8, 2023
b5733b1
Expand op cleanup (#368)
kadeng Mar 8, 2023
c0c1af0
Refactor: change relative to absolute imports (#354)
kadeng Mar 9, 2023
160efd6
Move some A100 tests to V100 - first batch (#382)
ipiszy Mar 9, 2023
90cab80
Move most test cases in test_serdes from A100 to V100 (#383)
hl475 Mar 9, 2023
43893e2
Move some tests/unittest/ops/test_transpose_conv2d test cases from A1…
hl475 Mar 9, 2023
190b13a
Add an option to shorten tensor names for plotting (#381)
Mar 9, 2023
65c607b
Add json-based serialization of graph, which allows to re-import the …
Mar 10, 2023
d352ff0
moving bmm tests from a100 (#389)
tenpercent Mar 10, 2023
17b601c
No need to reset internal constants (#385)
muchulee8 Mar 10, 2023
f2eb69f
Add int_elementwise support in fx2ait (#392)
tissue3 Mar 10, 2023
cb7ae48
Split A100 / V100 tests in test_dynamic_conv (#387)
aakhundov Mar 10, 2023
935ec5a
Split A100 / V100 tests in test_fused_elementwise_* (#390)
aakhundov Mar 10, 2023
01eacf9
Replace pycuda with cuda-python in detect_target (#391)
apivovarov Mar 10, 2023
13ebc76
Eliminate permute over singleton dims (#378)
Mar 10, 2023
e61db40
Add CELU activation function (#373)
Mar 10, 2023
987a1c9
Adopt softmax to wider dimension with reshape (#395)
tissue3 Mar 10, 2023
a6106b1
Split A100 / V100 tests in test_gemm_* (first batch) (#400)
aakhundov Mar 10, 2023
5665fb8
Move tests from A100 to V100 - second batch (#394)
ipiszy Mar 10, 2023
32a8465
Add .idea to .gitignore (#397)
apivovarov Mar 10, 2023
75619f9
Split A100 / V100 tests in test_gemm_* (second batch) (#401)
aakhundov Mar 10, 2023
b856214
move test_activation from a100 (#393)
tenpercent Mar 11, 2023
7007246
move a few compiler pass tests from a100 ci (#399)
tenpercent Mar 11, 2023
7e3eded
export ScaledDotProductAttention from frontend.nn (#403)
Mar 11, 2023
15a60b6
Move tests from A100 to V100 (#402)
muchulee8 Mar 11, 2023
19bcf97
enable torchscripting (#410)
frank-wei Mar 11, 2023
e0c2d3d
fix getitem issue (#411)
frank-wei Mar 12, 2023
53008de
move more compiler tests from a100 (#412)
tenpercent Mar 12, 2023
dc0dca9
move test_slice_view_strided from a100 (#413)
tenpercent Mar 12, 2023
611d4c2
Return test_gemm_permute to A100 (#415)
aakhundov Mar 12, 2023
6f2d8ad
Move tests from A100 to V100 (#419)
Mar 13, 2023
d7e152f
Extend jagged tensor support (#367)
aakhundov Mar 13, 2023
2d9ec18
Return link to softmax experiment log (#405)
apivovarov Mar 13, 2023
cbe8f48
fix bugs
fsx950223 Mar 14, 2023
4625717
Use nighly pytorch package to test fx2ait (#424)
tissue3 Mar 14, 2023
d19dc04
Fix softmax dimension raise logic. (#422)
tissue3 Mar 14, 2023
4bb43dc
Add allow op supports to AIT splitter (#421)
tissue3 Mar 14, 2023
c8f6a04
revert some changes
fsx950223 Mar 14, 2023
718d1f9
restore attention on a100 (#406)
tenpercent Mar 14, 2023
a9aa729
restore test_bmm_permute on a100 (#409)
tenpercent Mar 14, 2023
1b866e5
Move perm and split_getitem tests to V100 (#398)
Mar 14, 2023
dbda11b
Fix types info in compiler/model.py (#425)
apivovarov Mar 14, 2023
a1d12d2
Add tensor accessor to permute021 (#348)
wushirong Mar 15, 2023
6349654
Adding a configurable directory for saving compiled model artifacts (…
dhawalkp Mar 15, 2023
19f1e3a
Add bmm_xxc and bmm_xxc_add ops (#369)
Mar 15, 2023
2400fb3
Remove redundant DeviceToDeviceCopies call (#429)
aakhundov Mar 15, 2023
8977322
Fix json serialization & visualization of multiple operators with the…
Mar 15, 2023
34a0516
Add more test cases (#434)
wushirong Mar 15, 2023
8df68ff
Add batched_dense_vec_jagged_2d_mul_ref to jagged utils (#433)
aakhundov Mar 15, 2023
e53a60e
Add dense_to_jagged op (#386)
aakhundov Mar 15, 2023
f9b7700
Revert D44036462: Multisect successfully blamed D44036462 for test or…
Mar 15, 2023
1a6c00f
Make fuse_expand_elementwise jagged-aware (#426)
aakhundov Mar 15, 2023
e39a90c
move group/gemm_xxx from a100 to v100 (#423)
Mar 15, 2023
3bec0d4
Consolidate jagged ops (#416)
aakhundov Mar 15, 2023
2ad553c
Set batch_dim in make_jagged if isolated (#436)
aakhundov Mar 16, 2023
6a6222f
make input accessors for all inputs for perm021_fc_ccr_bias (#437)
Mar 16, 2023
d3722e4
Update ait_ci.yml
illsilin Mar 16, 2023
0f9c000
merge updates
fsx950223 Mar 17, 2023
f2452a8
enable rocm ci
fsx950223 Mar 17, 2023
550900a
fix fx2ait bug
Yanxing-Shi Mar 17, 2023
f1c2a62
Replace cudaMemcpy with async copy + stream sync in masked_select (#438)
Mar 17, 2023
7e4470e
Add a back-to-back batched gemm kernel into AIT (#444)
ipiszy Mar 17, 2023
3c689e1
Add aitemplate/static into compilation path (#447)
ipiszy Mar 17, 2023
5151d6e
Add a basic op for b2b bmm. (#445)
ipiszy Mar 18, 2023
cd9694b
Add logics in elementwise to handle the case that a jagged tensor is …
frank-wei Mar 18, 2023
14f1374
Add batched_dense_vec_jagged_2d_mul op (#448)
brad-mengchi Mar 18, 2023
4ea634c
Add dynamic JaggedDim bounds support (#452)
aakhundov Mar 19, 2023
d22178f
add knob to turn off optimization passes (#443)
tenpercent Mar 19, 2023
448f07b
Merge pull request #39 from ROCmSoftwarePlatform/fix_fx2ait
fsx950223 Mar 20, 2023
d0c8b13
swap MultiScaleBlock (#376)
Mar 20, 2023
24749d4
add jenkinsfile
illsilin Mar 21, 2023
68438c1
put all test commands into a bash script
illsilin Mar 21, 2023
c0a751e
format code
fsx950223 Mar 21, 2023
9d9a577
changes to improve jagged tensor and add b2b bmm (#455)
frank-wei Mar 21, 2023
9f54dc7
Add full operator (#458)
aakhundov Mar 21, 2023
631f579
Handle implicit + explicit jagged Tensor inputs in elementwise (#453)
aakhundov Mar 21, 2023
e2b6f9f
Add bmm + permute transform (#420)
Mar 21, 2023
1e8025a
fix syntax
illsilin Mar 21, 2023
5b77355
remove unneccessary line
illsilin Mar 21, 2023
997af70
remove cron trigger
illsilin Mar 21, 2023
918b046
upgrade rocm to 5.4.3
illsilin Mar 21, 2023
e19f6fa
get rid of execute_cmd
illsilin Mar 21, 2023
0b68790
move python packages installation into the docker
illsilin Mar 21, 2023
43099de
do not re-install AIT
illsilin Mar 21, 2023
97b00eb
chmod for run_tests.sh
illsilin Mar 21, 2023
4a235db
Basis of symbolic shape (#320)
muchulee8 Mar 21, 2023
88f00b1
Add Symbolic Shape for view_ops (#440)
muchulee8 Mar 21, 2023
c1bbd4f
Add symbolic shape support for concatenate (#439)
muchulee8 Mar 21, 2023
aa7d847
add torchvision and torchaudio, set new HF cache to suppress errors
illsilin Mar 21, 2023
ba27cfb
move HF cache to a different path
illsilin Mar 22, 2023
43af738
create cache folder in steps
illsilin Mar 22, 2023
9ad5bd2
assume /home/jenkins exists
illsilin Mar 22, 2023
0af561b
use pre-built folder in docker for HF cache
illsilin Mar 22, 2023
6fcc155
Add rocm ci into AIT (#441)
ipiszy Mar 22, 2023
1f74d97
merge updates
fsx950223 Mar 22, 2023
6c9bf54
Fix typo remplate (#450)
apivovarov Mar 22, 2023
b603e18
Add flag to make_jagged to skip seq len check (#462)
aakhundov Mar 22, 2023
3c14119
Remove inheritance from object (#465)
apivovarov Mar 22, 2023
5e48d5d
Use List[T] instead of list[T] in type info (#466)
apivovarov Mar 22, 2023
f790c51
Improve graph visualization (#457)
Mar 22, 2023
b0ca796
Example 05 - Add use_linear_projection param support (#451)
apivovarov Mar 22, 2023
ad80787
Replace OrderedDict with dict in Examples (#463)
apivovarov Mar 22, 2023
196cc6d
Add ait full op converters (#461)
wushirong Mar 22, 2023
9315329
Fix type info in constant_folding.py (#467)
apivovarov Mar 22, 2023
48f953f
Fix type info in compiler/base.py (#431)
apivovarov Mar 22, 2023
3cfae1b
Add COMBINE_PROFILER_MULTI_SOURCES and FORCE_ONE_PROFILER_SOURCE_PER_…
apivovarov Mar 22, 2023
2c822c0
stable diffusion unet ait converter (#460)
mortzur Mar 22, 2023
89a4691
Update rocm_ci.yml
illsilin Mar 22, 2023
57ab373
Fix type info in compiler/tensor_accessor.py (#468)
apivovarov Mar 22, 2023
81699d1
added a pass to move view ops (#454)
Mar 22, 2023
c489ef9
temporarily disable vit tests and update log paths
illsilin Mar 22, 2023
0060f2e
skip all tests and go to SD, update dockerfile
illsilin Mar 22, 2023
cce9405
Fix flaky tests (#469)
aakhundov Mar 22, 2023
7a36026
Easier API and additional example for symbolic usage. (#470)
muchulee8 Mar 22, 2023
0954e8f
reduce the number of build threads by half
illsilin Mar 22, 2023
f40a179
Add an FMHA-style-b2b-bmm kernel into aitemplate/static (#446)
ipiszy Mar 23, 2023
955826c
further reduce the number of building threads
illsilin Mar 23, 2023
e778818
Revert D44106679: stable diffusion unet ait converter
amirshim Mar 23, 2023
763154b
change the order of archiving and stashing the logs
illsilin Mar 23, 2023
ff84ae5
Split test_attention (#473)
aakhundov Mar 23, 2023
484d455
format code
fsx950223 Mar 23, 2023
457a488
test stashing the logs
illsilin Mar 23, 2023
895afda
re-enable tests
illsilin Mar 23, 2023
4aa59f8
Fix flaky tests 2 (#477)
aakhundov Mar 23, 2023
61a3587
Fix map_clip_params in 05_stable_diffusion example (#442)
apivovarov Mar 23, 2023
3aa0b6c
propagate graph optimization setting from lowering context to model c…
tenpercent Mar 23, 2023
5ac7a91
only stash log files
illsilin Mar 23, 2023
3fbddce
fix the parsing script
illsilin Mar 23, 2023
88854fb
Accept scalar shape in full op (#480)
tissue3 Mar 24, 2023
6379419
minor changes to performance scripts
illsilin Mar 24, 2023
8d8a87d
Use absolute imports in aitemplate pkg (#479)
apivovarov Mar 24, 2023
2ec4432
minor changes to performance scripts
illsilin Mar 24, 2023
5019556
rename logs, update processing
illsilin Mar 24, 2023
f4da5c3
Refactor frontend.nn.Linear forward func (#481)
apivovarov Mar 24, 2023
2d6dc01
Make fill op read dtype from input/kwarg (#485)
wushirong Mar 25, 2023
c3b50df
added slice + bmm fusion (#489)
Mar 25, 2023
ee64ffd
Some typo and type info fixes (#487)
apivovarov Mar 25, 2023
2292048
report which files are being parsed
illsilin Mar 25, 2023
b9bafc5
fix interaction of use_fp16_acc with input dtype in gemm_bias_broadca…
tenpercent Mar 25, 2023
5781e71
Fix epiligue typo (#494)
apivovarov Mar 25, 2023
b7c1cbf
Add is_input to visualization plot (#492)
apivovarov Mar 25, 2023
8c472bd
adjust rtol/atol for float32 tests (#497)
Mar 26, 2023
1dd9356
fixed how we fetch leading_a_dim and leading_b_dim for bmm ops (#498)
Mar 26, 2023
a4fcc00
Allow file name without dir to dump ait_to_py (#490)
apivovarov Mar 26, 2023
3ecd0d6
Inherit StableSet from abc.MutableSet (#488)
apivovarov Mar 27, 2023
ad7c61b
clean-up any old logs before unstashing new ones
illsilin Mar 27, 2023
47503a2
Resurrect gemm_ / bmm_softmax (#500)
aakhundov Mar 27, 2023
ac7ce28
Reorganize skipped tests (#501)
aakhundov Mar 27, 2023
846b41d
full: pass input dtype when dtype is None (#504)
tissue3 Mar 28, 2023
fe37b9e
optimize dockerfile
fsx950223 Mar 28, 2023
9bd086c
Remove links to youtube debug background music (#496)
apivovarov Mar 28, 2023
5509cd1
Visualize more Operators attrs (#493)
apivovarov Mar 28, 2023
cdefe25
Fix warnings from MSVC compiler (#499)
Mar 28, 2023
a72f4b9
reduce the number of tests in regular CI, add daily QA
illsilin Mar 28, 2023
2cc565b
Merge branch 'jenkins-ci' of github.com:ROCmSoftwarePlatform/AITempla…
illsilin Mar 28, 2023
d2ed4dc
Format json arrays in vis html (#506)
apivovarov Mar 28, 2023
439fd0b
Fix OrderedDict comprehensions usage (#508)
apivovarov Mar 28, 2023
b042f04
Use .exe ext on Windows only (#509)
apivovarov Mar 28, 2023
d54dddd
Skip bind_constants if constants dict is empty (#507)
apivovarov Mar 28, 2023
3f1004b
Add a pass that dedups all shape name that are identical. (#495)
muchulee8 Mar 28, 2023
f82ceb9
Replace mem_eff_attention with a custom attention for a lowering path…
Mar 29, 2023
163bad0
Overload IntVar arithmetic operations (#478)
muchulee8 Mar 29, 2023
da84008
Replace an outdated comment in model-generated.h (#515)
Mar 29, 2023
9f38a42
Fix default number of runtimes 2->1 in comments (#513)
apivovarov Mar 30, 2023
56318c4
Apply json formatting to debug graph (#512)
apivovarov Mar 30, 2023
4ffbb2b
reland D44106679: stable diffusion unet ait converter (#510)
mortzur Mar 30, 2023
86c4f9c
AIT build cache (#456)
kadeng Mar 30, 2023
dd65d68
Accept multiple sources in make_jagged (#519)
aakhundov Mar 30, 2023
88c1305
Update rocm_ci.yml
illsilin Mar 31, 2023
e59d7bd
Update rocm_ci.yml
illsilin Mar 31, 2023
a799ed2
Check if PR label contains rocm
illsilin Mar 31, 2023
c291450
enabled to merge concat ops with multiple dst_ops (#471)
Mar 31, 2023
bd43a99
Support models with 2GB+ params (#520)
apivovarov Mar 31, 2023
383f516
print op name when raise runtime error
fsx950223 Mar 31, 2023
9b8c482
merge updates
fsx950223 Mar 31, 2023
c29de3c
fix a bug
fsx950223 Mar 31, 2023
bec4e65
Revert hack for bmm (#517)
muchulee8 Mar 31, 2023
58c4e77
Update rocm_ci.yml
illsilin Mar 31, 2023
e86ee2f
Refactor dynamic dims api, stateless internals, higher level export A…
ezyang Mar 31, 2023
7dc0da8
Merge remote-tracking branch 'upstream/main' into merge_upstream
fsx950223 Apr 1, 2023
492262b
Add pass for make_jaged deduplication (#523)
aakhundov Apr 1, 2023
984a2cc
Add an FMHA-style-b2b-bmm op into AIT (#474)
ipiszy Apr 2, 2023
baefeec
Mem efficient attention with variable lengths (#472)
Apr 3, 2023
a647985
enable mask-rcnn
fsx950223 Apr 3, 2023
9bb4d0e
Make utils init empty to solve circular import issue (#521)
apivovarov Apr 3, 2023
48c960e
migrate to StorageImpl::mutable_unsafe_data() (#522)
Apr 3, 2023
254e8c0
Skip acc normalization of repeat_interleave if input dims aren't inte…
qxy11 Apr 4, 2023
4c8a28c
Skip acc normalization of repeat if dims aren't ints (#532)
qxy11 Apr 4, 2023
f0f458d
Support simple variable_seq_length in FMHA_style_b2b_bmm (#486)
ipiszy Apr 4, 2023
c829c06
Support models with 2GB+ params for internal pipelines (#527)
Apr 4, 2023
b6f4368
fix bugs
fsx950223 Apr 4, 2023
70da699
remove useless chamges
fsx950223 Apr 4, 2023
9c104ec
Added Meta Copyright header (#531)
Apr 4, 2023
4fd9a5c
append the name to the front of each op (#535)
Apr 4, 2023
e230819
Add doc for missing compile_model parameters. Fix typos (#537)
apivovarov Apr 5, 2023
b75bfa1
Add is_linux() to utils.misc (#534)
apivovarov Apr 5, 2023
2799c64
Hotfix: Include path write conflict (#536)
kadeng Apr 5, 2023
2540aaa
add priority toposort (#408)
Apr 6, 2023
f4dcb10
skip fusing split + strided_concat (#538)
Apr 6, 2023
85fb700
Add back CVV Preset, remove MHA from AIT Lowering (#539)
qxy11 Apr 6, 2023
f534aa0
Use parameterized.expand for test_gemm_rcr_bias_add_float_sm80 and te…
hl475 Apr 7, 2023
7d9781f
naively split test_bmm_dtype and test_bmm_broadcast_dtype (#546)
hl475 Apr 7, 2023
64911f0
naively split test_bmm_add_dtype and test_bmm_add_broadcast_dtype (#548)
hl475 Apr 7, 2023
a0ff21b
Use parameterized.expand for test_fuse_permute_bmm_sm80 (#545)
hl475 Apr 7, 2023
e1344ef
Use parameterized.expand for test_gemm_bias_broadcast_sm80 (#547)
hl475 Apr 7, 2023
5f23f3f
Carry over check_sequence_lengths in dedup_make_jagged_ops pass (#549)
aakhundov Apr 8, 2023
0222f45
Fix "Profiler is not executable" error (#544)
aakhundov Apr 8, 2023
8530794
Increase tolerance of test_make_jagged_dedup (#554)
aakhundov Apr 9, 2023
eec6882
Add profiler execution retries (#553)
aakhundov Apr 9, 2023
edc89f2
Skip fuse parallel gemm for output tensors (#550)
qxy11 Apr 10, 2023
57d182a
Fix memory pool using in GEMM profiler (#556)
aakhundov Apr 10, 2023
fda4c60
dynamic seq (#560)
Apr 11, 2023
ca2d572
Fix MSVC compiler complaints (#551)
Apr 11, 2023
216cd17
Fix MSVC compiler narrowing conversion errors for cuda/gemm_epilogue_…
Apr 11, 2023
d67c97f
Add dynamic_seq_len and dynamic_num_head support in b2b bmm. (#530)
ipiszy Apr 11, 2023
c360bf8
Fix reduce ops with last input dim IntVar (#563)
aakhundov Apr 12, 2023
d5e6538
Build Cache CI Integration (#541)
kadeng Apr 12, 2023
1517314
More robust cutlass include dir generation in FBCUDA (#565)
kadeng Apr 12, 2023
c9f0f4d
add conv1d op (#562)
tenpercent Apr 13, 2023
b4b0140
arange as model param (#566)
mortzur Apr 13, 2023
f4416e7
fixed an infinite loop in move_view_ops transformation (#570)
Apr 13, 2023
0f1165e
Remove hack in [fx/aten]2ait (#516)
muchulee8 Apr 13, 2023
e6ad08a
Fix _fuse_strided_op_and_cat: no GEMM+concat fusion with dim>=rank (#…
Apr 13, 2023
a58d757
refactor
fsx950223 Apr 14, 2023
e17d032
merge updates
fsx950223 Apr 14, 2023
0dec9a5
remove useless code
fsx950223 Apr 14, 2023
73168b3
fix bugs
fsx950223 Apr 14, 2023
9d6383e
fix a bug in sd examples
fsx950223 Apr 14, 2023
947d702
fix conv2d profiler
fsx950223 Apr 15, 2023
8b2b48d
fix a bug
fsx950223 Apr 26, 2023
fd0bf44
merge ci
fsx950223 Apr 26, 2023
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
89 changes: 66 additions & 23 deletions .circleci/config.yml
Original file line number Diff line number Diff line change
Expand Up @@ -18,45 +18,87 @@ setup_env: &setup_env
- run:
name: Setup environment
command: |
python3.8 --version
python3.8 -m pip install --upgrade pip
cd python
python3.8 setup.py bdist_wheel
sudo python3.8 -m pip install --no-input dist/*.whl
cd ..
python3.8 -m pip install pytest
python3.8 -m pip install torch
python3.8 -m pip install numpy
python3.8 -m pip install jinja2
python3.8 -m pip install recordtype
python3.8 -m pip install parameterized
python3.8 -m pip install einops
git submodule sync
git submodule update --init
echo 'export PYTHONPATH=$PWD/python:$PYTHONPATH' >> $BASH_ENV
echo 'export PATH=/usr/local/cuda-11.4/bin:$PATH' >> $BASH_ENV
echo 'export CI_FLAG=CIRCLECI' >> $BASH_ENV
echo 'export CACHE_DIR=$PWD/tests/ci_profile_cache' >> $BASH_ENV
for i in {1..3}; do
echo 'export PATH=/usr/local/cuda/bin:$PATH' >> $BASH_ENV &&
source "$BASH_ENV"
python3.8 --version &&
python3.8 -m pip install --upgrade pip &&
cd /home/circleci/project/python &&
python3.8 setup.py bdist_wheel &&
sudo python3.8 -m pip install --no-input dist/*.whl &&
cd /home/circleci/project &&
python3.8 -m pip install 'cuda-python<12.0.0' &&
python3.8 -m pip install pytest &&
python3.8 -m pip install torch &&
python3.8 -m pip install numpy &&
python3.8 -m pip install jinja2 &&
python3.8 -m pip install sympy &&
python3.8 -m pip install recordtype &&
python3.8 -m pip install parameterized &&
python3.8 -m pip install einops &&
git submodule sync &&
git submodule update --init &&
echo 'export PYTHONPATH=$PWD/python:$PYTHONPATH' >> $BASH_ENV &&
echo 'export CI_FLAG=CIRCLECI' >> $BASH_ENV &&
echo 'export CACHE_DIR=$PWD/tests/ci_profile_cache' >> $BASH_ENV &&
break || sleep 5;
done


setup_fx2ait_env: &setup_fx2ait_env
- run:
name: Setup fx2ait environment
command: |
for i in {1..3}; do
wget https://developer.download.nvidia.com/compute/redist/cudnn/v8.7.0/local_installers/11.8/cudnn-linux-x86_64-8.7.0.84_cuda11-archive.tar.xz
tar -xvf cudnn-*-archive.tar.xz
sudo cp cudnn-*-archive/include/cudnn*.h /usr/local/cuda/include
sudo cp -P cudnn-*-archive/lib/libcudnn* /usr/local/cuda/lib64
sudo chmod a+r /usr/local/cuda/include/cudnn*.h /usr/local/cuda/lib64/libcudnn*
python3.8 -m pip install --ignore-installed --pre torch torchvision torchaudio --index-url https://download.pytorch.org/whl/nightly/cu118
python3.8 fx2ait/setup.py install --prefix=/home/circleci/
echo 'export PYTHONPATH=$PWD/fx2ait:$PYTHONPATH' >> $BASH_ENV
break || sleep 5;
done

basic_tests: &basic_tests
- run:
name: Run tests
command: |
set -e
TEST_FILES=$(circleci tests glob "tests/unittest/**/test_*.py" | grep -v benchmark | circleci tests split --split-by=timings)
mkdir test-results
python3.8 -m pytest $TEST_FILES --junitxml=test-results/junit.xml --verbose --continue-on-collection-errors -rA
mkdir ~/test-results
python3.8 -m pytest $TEST_FILES -o junit_family=xunit1 --junitxml=~/test-results/junit.xml --verbose --continue-on-collection-errors -rA

fx2ait_tests: &fx2ait_tests
- run:
name: Run fx2ait tests
command: |
source $BASH_ENV
mkdir -p ~/test-fx2ait-results
TEST_FILES=$(circleci tests glob "fx2ait/fx2ait/test/test_*.py" "fx2ait/fx2ait/test/converters/**/test_*.py")
python3.8 -m pytest $TEST_FILES -o junit_family=xunit1 --junitxml=~/test-fx2ait-results/junit.xml --verbose --continue-on-collection-errors -rA

# Define a job to be invoked later in a workflow.
# See: https://circleci.com/docs/2.0/configuration-reference/#jobs
jobs:
fx2ait-test:
machine:
image: ubuntu-2004-cuda-11.4:202110-01
resource_class: gpu.nvidia.medium
steps:
- checkout
- <<: *setup_env
- <<: *setup_fx2ait_env
- <<: *fx2ait_tests
- store_test_results:
path: ~/test-fx2ait-results

build-and-test:
machine:
image: ubuntu-2004-cuda-11.4:202110-01
# Check T101565170 for multi-gpu use cases.
resource_class: gpu.nvidia.medium

parallelism: 10

# Checkout the code as the first step. This is a dedicated CircleCI step.
Expand All @@ -69,12 +111,13 @@ jobs:
- <<: *setup_env
- <<: *basic_tests
- store_test_results:
path: test-results
path: ~/test-results

# Invoke jobs via workflows
# See: https://circleci.com/docs/2.0/configuration-reference/#workflows
workflows:
unittest: # This is the name of the workflow, feel free to change it to better match your workflow.
# Inside the workflow, you define the jobs you want to run.
jobs:
- fx2ait-test
- build-and-test
106 changes: 53 additions & 53 deletions .flake8
Original file line number Diff line number Diff line change
Expand Up @@ -7,111 +7,111 @@ ignore =
# Found in https://github.com/psf/black/issues/429
# Line too long.
B950,
# Indentation is not a multiple of four.
E111,
# Indentation is not a multiple of four.
E111,
# Expected an indented block (comment).
E115,
E115,
# Over-indented.
E117,
# Continuation line under-indented for hanging indent.
# Continuation line under-indented for hanging indent.
E121,
# Continuation line missing indentation or outdented.
# Continuation line missing indentation or outdented.
E122,
# Closing bracket does not match indentation of opening bracket's line.
# Closing bracket does not match indentation of opening bracket's line.
E123,
# Closing bracket does not match visual indentation.
# Closing bracket does not match visual indentation.
E124,
# Continuation line with same indent as next logical line.
# Continuation line with same indent as next logical line.
E125,
# Continuation line over-indented for hanging indent.
# Continuation line over-indented for hanging indent.
E126,
# Continuation line over-indented for visual indent.
# Continuation line over-indented for visual indent.
E127,
# Continuation line under-indented for visual indent.
# Continuation line under-indented for visual indent.
E128,
# Visually indented line with same indent as next logical line.
# Visually indented line with same indent as next logical line.
E129,
# Continuation line unaligned for hanging indent.
# Continuation line unaligned for hanging indent.
E131,
# Whitespace after '('.
# Whitespace after '('.
E201,
# Whitespace before ')'.
# Whitespace before ')'.
E202,
# Whitespace before ':'.
# Whitespace before ':'.
E203,
# Multiple spaces before operator.
# Multiple spaces before operator.
E221,
# Multiple spaces after operator.
# Multiple spaces after operator.
E222,
# Missing whitespace around operator.
# Missing whitespace around operator.
E225,
# Missing whitespace around arithmetic operator.
# Missing whitespace around arithmetic operator.
E226,
# Missing whitespace around bitwise or shift operator.
# Missing whitespace around bitwise or shift operator.
E227,
# Missing whitespace after ',', ';', or ':'.
# Missing whitespace after ',', ';', or ':'.
E231,
# Multiple spaces after ','.
# Multiple spaces after ','.
E241,
# Unexpected spaces around keyword / parameter equals.
# Unexpected spaces around keyword / parameter equals.
E251,
# Missing whitespace around parameter equals.
# Missing whitespace around parameter equals.
E252,
# At least two spaces before inline comment.
E261,
# At least two spaces before inline comment.
E261,
# Inline comment should start with '# '.
E262,
E262,
# Block comment should start with '# '.
E265,
# Multiple spaces after keyword.
# Multiple spaces after keyword.
E271,
# Multiple spaces before keyword.
# Multiple spaces before keyword.
E272,
# Expected 1 blank line, found 0.
# Expected 1 blank line, found 0.
E301,
# Expected 2 blank lines, found 0.
# Expected 2 blank lines, found 0.
E302,
# Too many blank lines (3).
# Too many blank lines (3).
E303,
# Expected 2 blank lines after end of function or class.
# Expected 2 blank lines after end of function or class.
E305,
# Expected 1 blank line before a nested definition.
# Expected 1 blank line before a nested definition.
E306,
# Line too long (82 > 79 characters).
# Line too long (82 > 79 characters).
E501,
# The backslash is redundant between brackets.
# The backslash is redundant between brackets.
E502,
# Multiple statements on one line (colon).
# Multiple statements on one line (colon).
E701,
# Multiple statements on one line (semicolon).
# Multiple statements on one line (semicolon).
E702,
# Statement ends with a semicolon.
# Statement ends with a semicolon.
E703,
# Multiple statements on one line (def).
# Multiple statements on one line (def).
E704,
# Trailing whitespace.
# Trailing whitespace.
W291,
# No newline at end of file.
# No newline at end of file.
W292,
# Blank line contains whitespace.
# Blank line contains whitespace.
W293,
# Blank line at end of file.
# Blank line at end of file.
W391,
# Line break occurred after a binary operator.
W504,
# Line break occurred after a binary operator.
W504,

# Too opinionated.
# Block comment should start with '# '.
E265,
# Too many leading '#' for block comment.
# Too many leading '#' for block comment.
E266,
# Module level import not at top of file. (Use cases like demandimport https://fburl.com/demandimport require statements before imports)
E402,
# Module level import not at top of file. (Use cases like demandimport https://fburl.com/demandimport require statements before imports)
E402,
# Do not use bare except, specify exception instead. (Duplicate of B001)
E722,
E722,
# (Duplicate of B003)
P207,
P207,
# (Duplicate of C403)
P208,
# Line break occurred before a binary operator.
W503
W503
34 changes: 34 additions & 0 deletions .github/workflows/docs.yaml
Original file line number Diff line number Diff line change
@@ -0,0 +1,34 @@
name: Docs

on:
push:
branches:
- main

pull_request:
branches:
- main
jobs:
build:
runs-on: ubuntu-latest
strategy:
matrix:
python-version: ["3.9"]
steps:
- uses: actions/checkout@v2
- name: Set up Python ${{ matrix.python-version }}
uses: actions/setup-python@v2
with:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python3.9 -m pip install --upgrade pip
python3.9 -m pip install numpy autodocsumm 'sphinx<6' sphinx_rtd_theme sphinx_gallery sphinxcontrib-inlinesyntaxhighlight sphinx_toolbox
cd python
python setup.py develop
cd ..
- name: Build documents with Sphinx
run: |
cd docs
make html
cd ..
13 changes: 3 additions & 10 deletions .github/workflows/docs.yml → .github/workflows/pages.yaml
Original file line number Diff line number Diff line change
@@ -1,5 +1,5 @@
# Simple workflow for deploying static content to GitHub Pages
name: Documentation
name: Deploy docs to Pages

on:
# Runs on pushes targeting the default branch
Expand Down Expand Up @@ -39,15 +39,8 @@ jobs:
python-version: ${{ matrix.python-version }}
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install autodocsumm
pip install sphinx_rtd_theme
pip install sphinx_gallery
pip install sphinxcontrib-inlinesyntaxhighlight
pip install sphinx_toolbox
pip install numpy
pip install jinja2
pip install torch
python3.9 -m pip install --upgrade pip
python3.9 -m pip install numpy autodocsumm 'sphinx<6' sphinx_rtd_theme sphinx_gallery sphinxcontrib-inlinesyntaxhighlight sphinx_toolbox jinja2 torch
cd python
python setup.py develop
cd ..
Expand Down
7 changes: 3 additions & 4 deletions .github/workflows/lint.yml → .github/workflows/pylint.yaml
Original file line number Diff line number Diff line change
Expand Up @@ -23,9 +23,7 @@ jobs:
- name: Install dependencies
run: |
python -m pip install --upgrade pip
pip install ufmt
pip install click
pip install flake8
pip install ufmt==2.0.1 click==8.1.3 black==22.12.0 flake8==5.0.4
- name: Analyzing the code with flake8
run: |
echo "::add-matcher::tests/lint/flake8_problem_matcher.json"
Expand All @@ -38,4 +36,5 @@ jobs:
- name: Check Meta copyright header
run: |
python tests/lint/check_meta_header.py --path=./tests --fixit=False
python tests/lint/check_meta_header.py --path=./python --fixit=False
python tests/lint/check_meta_header.py --path=./python --fixit=False
python tests/lint/check_meta_header.py --path=./fx2ait --fixit=False
Loading