Issue56 write pytorch extension for stream and collide
This PR is still in progress. Please look at the changes as preview. resolves #56
Hello @rawbby! Thanks for updating this PR. We checked the lines you've touched for PEP 8 issues, and found:
- In the file
lettuce/base.py:
Line 49:80: E501 line too long (80 > 79 characters)
- In the file
lettuce/cli.py:
Line 54:80: E501 line too long (158 > 79 characters) Line 56:80: E501 line too long (157 > 79 characters) Line 57:80: E501 line too long (116 > 79 characters)
- In the file
lettuce/collision.py:
Line 81:80: E501 line too long (105 > 79 characters) Line 82:80: E501 line too long (80 > 79 characters)
- In the file
lettuce/native_generator/__init__.py:
- In the file
lettuce/native_generator/_collision.py:
Line 16:80: E501 line too long (108 > 79 characters) Line 17:80: E501 line too long (94 > 79 characters) Line 18:80: E501 line too long (88 > 79 characters) Line 20:80: E501 line too long (89 > 79 characters) Line 37:80: E501 line too long (80 > 79 characters) Line 38:80: E501 line too long (84 > 79 characters) Line 39:80: E501 line too long (100 > 79 characters) Line 49:80: E501 line too long (88 > 79 characters) Line 61:80: E501 line too long (80 > 79 characters) Line 67:80: E501 line too long (104 > 79 characters) Line 68:80: E501 line too long (106 > 79 characters) Line 70:80: E501 line too long (98 > 79 characters) Line 87:80: E501 line too long (114 > 79 characters) Line 88:80: E501 line too long (81 > 79 characters) Line 90:80: E501 line too long (104 > 79 characters)
- In the file
lettuce/native_generator/_cuda.py:
Line 6:80: E501 line too long (92 > 79 characters) Line 7:80: E501 line too long (85 > 79 characters) Line 8:80: E501 line too long (87 > 79 characters) Line 24:80: E501 line too long (88 > 79 characters) Line 25:80: E501 line too long (88 > 79 characters) Line 26:80: E501 line too long (88 > 79 characters) Line 44:80: E501 line too long (90 > 79 characters) Line 45:80: E501 line too long (90 > 79 characters) Line 67:80: E501 line too long (91 > 79 characters) Line 68:80: E501 line too long (91 > 79 characters) Line 69:80: E501 line too long (103 > 79 characters) Line 70:80: E501 line too long (103 > 79 characters) Line 71:80: E501 line too long (91 > 79 characters) Line 89:80: E501 line too long (82 > 79 characters) Line 90:80: E501 line too long (82 > 79 characters) Line 96:80: E501 line too long (87 > 79 characters) Line 97:80: E501 line too long (87 > 79 characters)
- In the file
lettuce/native_generator/_equilibrium.py:
Line 62:80: E501 line too long (80 > 79 characters) Line 72:80: E501 line too long (100 > 79 characters) Line 83:80: E501 line too long (91 > 79 characters) Line 99:80: E501 line too long (142 > 79 characters)
- In the file
lettuce/native_generator/_generator.py:
Line 62:80: E501 line too long (87 > 79 characters) Line 122:80: E501 line too long (86 > 79 characters) Line 126:80: E501 line too long (96 > 79 characters) Line 163:80: E501 line too long (88 > 79 characters) Line 164:80: E501 line too long (86 > 79 characters) Line 167:80: E501 line too long (84 > 79 characters) Line 169:80: E501 line too long (88 > 79 characters) Line 170:80: E501 line too long (96 > 79 characters) Line 172:80: E501 line too long (86 > 79 characters) Line 173:80: E501 line too long (93 > 79 characters) Line 188:80: E501 line too long (93 > 79 characters) Line 200:80: E501 line too long (97 > 79 characters) Line 201:80: E501 line too long (86 > 79 characters) Line 204:80: E501 line too long (87 > 79 characters) Line 205:80: E501 line too long (95 > 79 characters) Line 225:80: E501 line too long (85 > 79 characters) Line 243:80: E501 line too long (103 > 79 characters) Line 246:80: E501 line too long (86 > 79 characters)
- In the file
lettuce/native_generator/_lattice.py:
Line 19:80: E501 line too long (91 > 79 characters) Line 22:80: E501 line too long (120 > 79 characters) Line 41:80: E501 line too long (90 > 79 characters)
- In the file
lettuce/native_generator/_stencil.py:
Line 22:80: E501 line too long (90 > 79 characters) Line 23:80: E501 line too long (91 > 79 characters) Line 30:80: E501 line too long (91 > 79 characters) Line 69:80: E501 line too long (104 > 79 characters)
- In the file
lettuce/native_generator/_streaming.py:
Line 19:80: E501 line too long (115 > 79 characters) Line 20:80: E501 line too long (145 > 79 characters) Line 22:80: E501 line too long (116 > 79 characters) Line 58:80: E501 line too long (105 > 79 characters) Line 61:80: E501 line too long (84 > 79 characters) Line 62:80: E501 line too long (84 > 79 characters) Line 63:80: E501 line too long (84 > 79 characters) Line 64:80: E501 line too long (84 > 79 characters) Line 65:80: E501 line too long (84 > 79 characters) Line 66:80: E501 line too long (84 > 79 characters) Line 67:80: E501 line too long (84 > 79 characters) Line 68:80: E501 line too long (96 > 79 characters) Line 69:80: E501 line too long (96 > 79 characters) Line 70:80: E501 line too long (96 > 79 characters) Line 71:80: E501 line too long (84 > 79 characters) Line 72:80: E501 line too long (84 > 79 characters) Line 73:80: E501 line too long (84 > 79 characters) Line 74:80: E501 line too long (84 > 79 characters) Line 85:80: E501 line too long (105 > 79 characters) Line 88:80: E501 line too long (84 > 79 characters) Line 89:80: E501 line too long (84 > 79 characters) Line 90:80: E501 line too long (84 > 79 characters) Line 91:80: E501 line too long (84 > 79 characters) Line 92:80: E501 line too long (84 > 79 characters) Line 93:80: E501 line too long (96 > 79 characters) Line 94:80: E501 line too long (96 > 79 characters) Line 95:80: E501 line too long (96 > 79 characters) Line 96:80: E501 line too long (84 > 79 characters) Line 97:80: E501 line too long (84 > 79 characters) Line 98:80: E501 line too long (84 > 79 characters) Line 99:80: E501 line too long (84 > 79 characters) Line 123:80: E501 line too long (84 > 79 characters) Line 127:80: E501 line too long (101 > 79 characters) Line 128:80: E501 line too long (101 > 79 characters) Line 130:80: E501 line too long (94 > 79 characters) Line 141:80: E501 line too long (105 > 79 characters) Line 144:80: E501 line too long (84 > 79 characters) Line 145:80: E501 line too long (84 > 79 characters) Line 146:80: E501 line too long (84 > 79 characters) Line 147:80: E501 line too long (84 > 79 characters) Line 148:80: E501 line too long (84 > 79 characters) Line 149:80: E501 line too long (84 > 79 characters) Line 150:80: E501 line too long (84 > 79 characters) Line 151:80: E501 line too long (96 > 79 characters) Line 152:80: E501 line too long (96 > 79 characters) Line 153:80: E501 line too long (96 > 79 characters) Line 154:80: E501 line too long (84 > 79 characters) Line 155:80: E501 line too long (84 > 79 characters) Line 156:80: E501 line too long (84 > 79 characters) Line 157:80: E501 line too long (84 > 79 characters) Line 174:80: E501 line too long (105 > 79 characters) Line 175:80: E501 line too long (115 > 79 characters) Line 178:80: E501 line too long (103 > 79 characters) Line 179:80: E501 line too long (103 > 79 characters) Line 180:80: E501 line too long (103 > 79 characters) Line 181:80: E501 line too long (103 > 79 characters) Line 182:80: E501 line too long (103 > 79 characters) Line 183:80: E501 line too long (140 > 79 characters) Line 184:80: E501 line too long (140 > 79 characters) Line 185:80: E501 line too long (140 > 79 characters) Line 186:80: E501 line too long (150 > 79 characters) Line 187:80: E501 line too long (150 > 79 characters) Line 188:80: E501 line too long (150 > 79 characters) Line 189:80: E501 line too long (140 > 79 characters) Line 190:80: E501 line too long (140 > 79 characters) Line 191:80: E501 line too long (140 > 79 characters) Line 192:80: E501 line too long (140 > 79 characters) Line 193:80: E501 line too long (103 > 79 characters) Line 194:80: E501 line too long (115 > 79 characters) Line 195:80: E501 line too long (115 > 79 characters) Line 196:80: E501 line too long (115 > 79 characters) Line 197:80: E501 line too long (115 > 79 characters) Line 198:80: E501 line too long (115 > 79 characters) Line 199:80: E501 line too long (115 > 79 characters) Line 200:80: E501 line too long (115 > 79 characters) Line 201:80: E501 line too long (115 > 79 characters) Line 202:80: E501 line too long (115 > 79 characters) Line 203:80: E501 line too long (115 > 79 characters) Line 204:80: E501 line too long (115 > 79 characters) Line 205:80: E501 line too long (115 > 79 characters) Line 206:80: E501 line too long (103 > 79 characters) Line 207:80: E501 line too long (103 > 79 characters) Line 208:80: E501 line too long (140 > 79 characters) Line 209:80: E501 line too long (103 > 79 characters) Line 210:80: E501 line too long (103 > 79 characters)
- In the file
lettuce/simulation.py:
Line 11:80: E501 line too long (141 > 79 characters) Line 38:80: E501 line too long (91 > 79 characters) Line 59:80: E501 line too long (94 > 79 characters) Line 60:80: E501 line too long (89 > 79 characters) Line 66:80: E501 line too long (101 > 79 characters) Line 68:80: E501 line too long (98 > 79 characters) Line 80:80: E501 line too long (89 > 79 characters) Line 83:80: E501 line too long (95 > 79 characters) Line 86:80: E501 line too long (95 > 79 characters) Line 92:80: E501 line too long (88 > 79 characters) Line 107:80: E501 line too long (98 > 79 characters) Line 108:80: E501 line too long (105 > 79 characters) Line 120:80: E501 line too long (94 > 79 characters) Line 122:80: E501 line too long (98 > 79 characters)
- In the file
lettuce/streaming.py:
Line 57:80: E501 line too long (105 > 79 characters)
- In the file
lettuce/util.py:
Line 11:80: E501 line too long (94 > 79 characters) Line 23:80: E501 line too long (82 > 79 characters)
- In the file
setup.py:
Line 39:80: E501 line too long (94 > 79 characters) Line 43:80: E501 line too long (93 > 79 characters)
- In the file
tests/conftest.py:
Line 20:80: E501 line too long (113 > 79 characters) Line 52:80: E501 line too long (101 > 79 characters) Line 58:80: E501 line too long (88 > 79 characters) Line 68:80: E501 line too long (101 > 79 characters) Line 80:80: E501 line too long (91 > 79 characters) Line 81:12: E127 continuation line over-indented for visual indent Line 81:80: E501 line too long (90 > 79 characters)
- In the file
tests/test_boundaries.py:
Line 157:80: E501 line too long (104 > 79 characters)
- In the file
tests/test_collision.py:
Line 25:80: E501 line too long (84 > 79 characters) Line 26:80: E501 line too long (97 > 79 characters) Line 97:1: E302 expected 2 blank lines, found 1 Line 102:80: E501 line too long (91 > 79 characters) Line 103:80: E501 line too long (89 > 79 characters) Line 105:80: E501 line too long (81 > 79 characters) Line 107:80: E501 line too long (101 > 79 characters)
- In the file
tests/test_flows.py:
Line 79:80: E501 line too long (82 > 79 characters)
- In the file
tests/test_force.py:
Line 13:80: E501 line too long (103 > 79 characters) Line 14:80: E501 line too long (96 > 79 characters) Line 29:80: E501 line too long (107 > 79 characters)
- In the file
tests/test_native.py:
Line 4:80: E501 line too long (116 > 79 characters) Line 34:80: E501 line too long (84 > 79 characters) Line 68:80: E501 line too long (84 > 79 characters)
- In the file
tests/test_reporters.py:
Line 26:80: E501 line too long (103 > 79 characters) Line 29:80: E501 line too long (108 > 79 characters)
- In the file
tests/test_simulation.py:
Line 57:80: E501 line too long (90 > 79 characters) Line 59:80: E501 line too long (108 > 79 characters) Line 60:80: E501 line too long (86 > 79 characters)
- In the file
tests/test_streaming.py:
Line 26:80: E501 line too long (106 > 79 characters) Line 32:80: E501 line too long (114 > 79 characters) Line 35:80: E501 line too long (94 > 79 characters) Line 44:80: E501 line too long (86 > 79 characters) Line 51:80: E501 line too long (106 > 79 characters) Line 57:80: E501 line too long (118 > 79 characters) Line 60:80: E501 line too long (98 > 79 characters) Line 69:80: E501 line too long (115 > 79 characters) Line 77:80: E501 line too long (91 > 79 characters) Line 78:80: E501 line too long (89 > 79 characters) Line 82:80: E501 line too long (101 > 79 characters)
Comment last updated at 2022-06-09 15:30:51 UTC
Ah ... and please resolve the conflicts with master
Additional TODOs:
- [x] fix collide-and-stream order
- [x] test cases (why is
test_simulation.py::test_initialize_fneqfailing?) - [x] implement better criteria for rebuilding extensions
- [x] write current lettuce version into the installed extension file
- [ ] write a checksum into the extension file (based on the source code and possibly the CUDA compiler)
- [ ] rebuild only if the installed extension is outdated
TODO: acceleration needs to be supported by the generator.
This pull request introduces 14 alerts when merging 30985c8d247b59cdbe8826a57ba3e6428f375455 into d899f748e3b890e7b40881bdc87a7fba8afeb182 - view on LGTM.com
new alerts:
- 9 for 'import *' may pollute namespace
- 4 for Redundant comparison
- 1 for Syntax error
This pull request introduces 13 alerts when merging e4d580d753344ff449f37557dd4f008a4cf9ba03 into d899f748e3b890e7b40881bdc87a7fba8afeb182 - view on LGTM.com
new alerts:
- 9 for 'import *' may pollute namespace
- 3 for Redundant comparison
- 1 for Syntax error
This pull request introduces 13 alerts when merging 817ebaef7a89d6683116808d9eda372121b71fba into d899f748e3b890e7b40881bdc87a7fba8afeb182 - view on LGTM.com
new alerts:
- 9 for 'import *' may pollute namespace
- 3 for Redundant comparison
- 1 for Syntax error
This pull request introduces 13 alerts when merging 33f6be2f4b41e2bb406856b47eefc505336169c2 into d899f748e3b890e7b40881bdc87a7fba8afeb182 - view on LGTM.com
new alerts:
- 9 for 'import *' may pollute namespace
- 3 for Redundant comparison
- 1 for Syntax error
This pull request introduces 13 alerts when merging 258b39fcb198d02c6452f7d4ff36564d679728f9 into d899f748e3b890e7b40881bdc87a7fba8afeb182 - view on LGTM.com
new alerts:
- 9 for 'import *' may pollute namespace
- 3 for Redundant comparison
- 1 for Syntax error
This pull request introduces 13 alerts when merging fd80ae60d96c4626c869cf9f0ec9da58b484510f into d899f748e3b890e7b40881bdc87a7fba8afeb182 - view on LGTM.com
new alerts:
- 9 for 'import *' may pollute namespace
- 3 for Redundant comparison
- 1 for Syntax error
This pull request introduces 13 alerts when merging bd0533e5f42cbbfd87a9a9881fe6ad71caa7fe80 into d899f748e3b890e7b40881bdc87a7fba8afeb182 - view on LGTM.com
new alerts:
- 9 for 'import *' may pollute namespace
- 3 for Redundant comparison
- 1 for Syntax error
This pull request introduces 13 alerts when merging 2342791a663f348e1282a4d84b6f0b1b9b8d111d into d899f748e3b890e7b40881bdc87a7fba8afeb182 - view on LGTM.com
new alerts:
- 9 for 'import *' may pollute namespace
- 3 for Redundant comparison
- 1 for Syntax error
This pull request introduces 11 alerts when merging bc94bcaf7fdc87b240c5cae53c74a12b54133ecc into d899f748e3b890e7b40881bdc87a7fba8afeb182 - view on LGTM.com
new alerts:
- 9 for 'import *' may pollute namespace
- 1 for Syntax error
- 1 for Module is imported with 'import' and 'import from'