Giter VIP home page Giter VIP logo

Comments (3)

mr0re1 avatar mr0re1 commented on June 2, 2024

I'm having difficulty with lowering ModulusSwitch, I was trying to lower directly to arith, but faced avalanche of complications (casts, signedness, overflows).
Also it feels idiomatically incorrect to lower straight to arith, bypassing poly.

@asraa , @j2kun , Would it be reasonable to have a Poly_ScaleOp that takes poly argument and float (either argument or attribute?) and returns element-wise multiplied poly (rounded down)?

from heir.

j2kun avatar j2kun commented on June 2, 2024

What do you think about waiting until we have a unified LWE/RLWE dialect? I agree that lowering to arith is weird, but if you want to go through poly now, you could lower to a combination of to_tensor and from_tensor, using tensor/math/arith ops for the rescaling and rounding.

from heir.

mr0re1 avatar mr0re1 commented on June 2, 2024

you could lower to a combination of to_tensor and from_tensor, using tensor/math/arith ops for the rescaling and rounding.

That what I'm currently doing, so output is still in poly. My concern was about "going level too deep" during lowering.

What do you think about waiting until we have a unified LWE/RLWE dialect?

I think it will pose the same problem. I will proceed with crude lowering approach and send out PR to gather concrete feedback.

from heir.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.