-
Notifications
You must be signed in to change notification settings - Fork 113
Permalink
Choose a base ref
{{ refName }}
default
Choose a head ref
{{ refName }}
default
Comparing changes
Choose two branches to see what’s changed or to start a new pull request.
If you need to, you can also or
learn more about diff comparisons.
Open a pull request
Create a new pull request by comparing changes across two branches. If you need to, you can also .
Learn more about diff comparisons here.
base repository: EnzymeAD/Enzyme
Failed to load repositories. Confirm that selected base ref is valid, then try again.
Loading
base: v0.0.171
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
...
head repository: EnzymeAD/Enzyme
Failed to load repositories. Confirm that selected head ref is valid, then try again.
Loading
compare: v0.0.172
Could not load branches
Nothing to show
Loading
Could not load tags
Nothing to show
{{ refName }}
default
Loading
- 5 commits
- 21 files changed
- 5 contributors
Commits on Dec 27, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 8e79483 - Browse repository at this point
Copy the full SHA 8e79483View commit details -
* add type conversions for width != 1. This still requires changes in the tblgenerated derivative files. For example, createForwardModeTangent in MulFOpFwdDerivative could be altered like this: ``` LogicalResult createForwardModeTangent(Operation *op0, OpBuilder &builder, MGradientUtils *gutils) const { auto op = cast<arith::MulFOp>(op0); if (gutils->width != 1) { auto newop = gutils->getNewFromOriginal(op0); for (auto res : newop->getResults()) { res.setType(mlir::RankedTensorType::get({gutils->width}, res.getType())); } } gutils->eraseIfUnused(op); if (gutils->isConstantInstruction(op)) return success(); mlir::Value res = nullptr; if (!gutils->isConstantValue(op->getOperand(0))) { auto dif = gutils->invertPointerM(op->getOperand(0), builder); { mlir::Value itmp = ({ // Computing MulFOp auto fwdarg_0 = dif; dif.dump(); // TODO: gutils->makeBatched(...) auto fwdarg_1 = gutils->getNewFromOriginal(op->getOperand(1)); builder.create<arith::MulFOp>(op.getLoc(), fwdarg_0, fwdarg_1); }); itmp.dump(); if (!res) res = itmp; else { auto operandType = cast<AutoDiffTypeInterface>(res.getType()); res = operandType.createAddOp(builder, op.getLoc(), res, itmp); } } } if (!gutils->isConstantValue(op->getOperand(1))) { auto dif = gutils->invertPointerM(op->getOperand(1), builder); { mlir::Value itmp = ({ // Computing MulFOp auto fwdarg_0 = dif; dif.dump(); auto fwdarg_1 = gutils->getNewFromOriginal(op->getOperand(0)); builder.create<arith::MulFOp>(op.getLoc(), fwdarg_0, fwdarg_1); }); if (!res) res = itmp; else { auto operandType = cast<AutoDiffTypeInterface>(res.getType()); res = operandType.createAddOp(builder, op.getLoc(), res, itmp); } } } assert(res); gutils->setDiffe(op->getResult(0), res, builder); return success(); } ``` * add code to tblgen generator, this eventually needs to be a single function call. * a test and formatting * use tensor splatop * remove stale enzyme-tblgen changes * do the simple batching in enzyme-tblgen * include tensor in all AutoDiffOpInterfaceImpls * add enzyme broadcastop * getShadowType for TensorTypeInterface * create broadcastop in enzyme-tblgen * Revert "include tensor in all AutoDiffOpInterfaceImpls" This reverts commit c06ed01. * test * DenseI64ArrayAttr for shape instead of scalar width * `llvm::SmallVector` --> `ArrayRef` * formatting * use getShadowType in BroadcastOp builder Co-authored-by: Billy Moses <[email protected]> * unstructured control flow test * scf.for * formatting * support `scf.if` test * formatting * forgotten includes --------- Co-authored-by: Jules Merckx <[email protected]> Co-authored-by: Billy Moses <[email protected]>
Configuration menu - View commit details
-
Copy full SHA for eeb6200 - Browse repository at this point
Copy the full SHA eeb6200View commit details
Commits on Dec 29, 2024
-
Configuration menu - View commit details
-
Copy full SHA for 29fe86b - Browse repository at this point
Copy the full SHA 29fe86bView commit details -
Configuration menu - View commit details
-
Copy full SHA for bdda0ce - Browse repository at this point
Copy the full SHA bdda0ceView commit details -
Configuration menu - View commit details
-
Copy full SHA for 7cf9e90 - Browse repository at this point
Copy the full SHA 7cf9e90View commit details
Loading
This comparison is taking too long to generate.
Unfortunately it looks like we can’t render this comparison for you right now. It might be too big, or there might be something weird with your repository.
You can try running this command locally to see the comparison on your machine:
git diff v0.0.171...v0.0.172