Live data from Hacker News

Julia receives DARPA award to accelerate electronics simulation

juliacomputing.com

61–70 of 175 posts

Re: Julia receives DARPA award to accelerate electronics simulation

#61
post #52

Earlier quoted context omitted.

Our particular project is about analog simulation, though DARPA is also funding surrogate modeling efforts in the digital domain. On analog in particular, one significant impetus is speeding up mixed signal simulations, since digital simulators (in terms of seconds of execution simulated per seconds of simulation time) are much faster than analog simulators, so if you want to do a mixed signal simulation, you're gene…

i've had a lot trouble with analog simulations in SPICE. they often fail to converge or run incredibly slowly. i do a lot of audio circuitry. the speedups addressed here could potentially make it possible to simulate audio circuits in real time. suppose you feed a signal in via an audio interface, pass it through your analog processing circuitry and play it back in real time. the design cycle would be so much faster.

many sims use some variety of SPICE and some convergence algorithm a-la Newton's method to discover the voltages and currents at the nodes. simulating a system where every single component runs in parallel with every other component isn't easy.

Re: Julia receives DARPA award to accelerate electronics simulation

#62
post #50

I wish BioJulia[1][2] (bioinformatics ecosystem with Julia language) would get a similar attention. Currently, they seem largely underfunded[3]. Global pandemic highlighted importance of such projects, I hope more and more people would participate into the FOSS-based computational biology and medicine. [1] https://biojulia.net/ [2] https://github.com/BioJulia/ [3] https://opencollective.com/biojulia

I'm one of the main developers of BioJulia. I believe our main issue is lack of developer manpower, and not necessarily lack of funds.

Of course, if we got enough money to actually employ a developer, that would be amazing. It's just not very realistic. Furthermore, having BioJulia be developed by working scientists has its advantages.

If you, or anyone else, is interested in BioJulia, do think about making a contribution to your favorite package, it would be very welcome. Developing in Julia is extremely satisfying, as you get so much bang for your buck, while still being able to create highly efficient code.

Re: Julia receives DARPA award to accelerate electronics simulation

#63

Fix the headline - it should say "Julia Computing Receives DARPA Award to Accelerate Electronics Simulation by 1,000x" The money is going to a company.

Note that while Julia Computing and Julia are different entities, the former is the employer of most of the top contributors to Julia. Lots of this grant will probably go into paying for additional features for `DifferentialEquations.jl` or compiler work necessary to speed up some of this code.

I have no problem at all with the award, company, or its employees and founders - just the accuracy of the headline.

Re: Julia receives DARPA award to accelerate electronics simulation

#64

A modern circuit simulator, that has a fully featured programable API, that can be run from a real modern programming language, would be a dream. Every simulator i have used has been pretty limited in that way, or at least those features were not well advertized. Even the insanely expensive ones. I mean the most expensive ones (like $100K liscense type deals, like Cadence) are if anything even less modern from a user…

That is an interesting optimization trick, essentially a brute force search over a parameter space in order to minimize silicon area, I am assuming this was for cells that were going to be replicated many times on the same die?

Re: Julia receives DARPA award to accelerate electronics simulation

#65
post #34

Can anyone explain the potential benefits of accelerating electronics simulation? Do they want to generate efficient FPGA programs?

Because all modern computer chips and electronic systems (e.g. PCBs) rely on electrical simulation for design and build. Typically, these are SPICE based simulators, which are open source and quite old in their methods (you literally set convergence requirements and step times). FPGAs are already digital... meaning that although they (FPGAs) have to be simulated when they are designed, their purpose is digital simula…

Open source? Isn't everyone using Spectre or Eldo?

Re: Julia receives DARPA award to accelerate electronics simulation

#66
post #46

Earlier quoted context omitted.

Since this is based on ML, I would have trouble trusting the results. Can you verify the results with standard mathematical methods? E.g. solve a linear system using AI, then compute the residue and meaningfully interpret it? Would it be possible to apply ML techniques iteratively, and let the error approach zero?

Sure, you can always just run the baseline simulation and compare error rates. You can also do fancier analyses to get some rough idea of robustness and maximum error rates (over your particular parameter domain).

Would this integrate with e.g. Measurements.jl?

Re: Julia receives DARPA award to accelerate electronics simulation

#68

Is scientific computing getting some revival with the advent of quantum computers? From what I could see the niche is relatively small and not well paid, with most jobs somehow tied to the public sector. Not sure how Julia factors into all of this. I don't think the programming language makes that big of a difference, ultimately. Very interesting field at the intersection of all my skills, but I'm hesitant to get int…

> ... getting some revival ...

Scientific computing is chugging along about the same as it always has, quantum computers aren't really that relevant yet.

> I don't think the programming language makes that big of a difference, ultimately.

I can see how you might think this, but it's really ahistorical.

Scientific computing has always been a niche because of the range of skills needed. To have any real success at it as a team you needed to be a good enough at numerical analysis to understand the implementation, a good enough programmers to write something like production code (e.g. not your typical lab code) and good enough at the science to do the right project.

In the old days you were basically looking for one person who could do all of this, and in Fortran 77. You can carve off the last requirement if you only work on tools for other people, but that still leaves you with two domains.

Fortran 77 basically limited the scope of project that was reasonable. Things like matlab essentially started as wrappers on good libraries (in F77) so that people could get some work done without spending all their time fighting that complexity. This had a massive impact on productivity globally.

Introduction of things like c++ allowed more complex programs to be built for good or ill (also lead to improvements in fortran) but a lot of the same problems remain in terms of managing the complexity.

Later people added enough numerical libraries to python to get real work done, and that started to eclipse matlab at least in some specific domains (mainly because it's free and open).

Neither matlab or python are particularly good languages for scientific programming, but they are accessible - a gazillion grad students shoot themselves in the foot less in python than they would in fortran or c++, and iterate much faster.

In some ways systems like this have impact because they have reduced the necessary skill level across domains. There is always going to be room at the margins for a polymath but a lot of people who aren't can get things done much more easily now than a few decades ago. Now you may argue that nobody "does" scientific programming in python but it's a bit of a semantic flip, the core algorithms are all in c or something but depending on domain you may mostly be using python wrappers to access them.

Julia is an attempt (not the first one) to define a language that is both approachable and interactive (important) but also well designed for numerics etc. It's a very interesting project for that reason.

I've obviously skipped a lot of important stuff, but the impact of languages and particularly their accessibility has been really significant, especially when we get past scientific programming for it's own sake, and into real applications.

Re: Julia receives DARPA award to accelerate electronics simulation

#69
post #50

I wish BioJulia[1][2] (bioinformatics ecosystem with Julia language) would get a similar attention. Currently, they seem largely underfunded[3]. Global pandemic highlighted importance of such projects, I hope more and more people would participate into the FOSS-based computational biology and medicine. [1] https://biojulia.net/ [2] https://github.com/BioJulia/ [3] https://opencollective.com/biojulia

I'm one of the main developers of BioJulia. I believe our main issue is lack of developer manpower, and not necessarily lack of funds. Of course, if we got enough money to actually employ a developer, that would be amazing. It's just not very realistic. Furthermore, having BioJulia be developed by working scientists has its advantages. If you, or anyone else, is interested in BioJulia, do think about making a contrib…

Can a programmer with zero knowledge of bioinformatics be of help too? Or do you need a bio background?

Re: Julia receives DARPA award to accelerate electronics simulation

#70
post #52

Earlier quoted context omitted.

Our particular project is about analog simulation, though DARPA is also funding surrogate modeling efforts in the digital domain. On analog in particular, one significant impetus is speeding up mixed signal simulations, since digital simulators (in terms of seconds of execution simulated per seconds of simulation time) are much faster than analog simulators, so if you want to do a mixed signal simulation, you're gene…

i've had a lot trouble with analog simulations in SPICE. they often fail to converge or run incredibly slowly. i do a lot of audio circuitry. the speedups addressed here could potentially make it possible to simulate audio circuits in real time. suppose you feed a signal in via an audio interface, pass it through your analog processing circuitry and play it back in real time. the design cycle would be so much faster.

We are working on improvements to the baseline simulator also (or rather we basically get them for free because they are part of our core simulation engine), so hopefully that should address some of the first order usability issues in SPICE simulations. For these kinds of design applications, the ML-based speed up may or may not work, since you do have to spend time training the surrogate. You can often re-use pieces of if, but depending on what kind of manipulations you're doing to the model you're surrogatizing, it may or may not help if you're changing the circuit after every simulation.
Post reply on HN