00:42
Flea86 has joined ##openfpga
00:51
emeb_mac has joined ##openfpga
01:52
GenTooMan has joined ##openfpga
01:53
dj_pi has joined ##openfpga
02:22
ayjay_t has quit [Read error: Connection reset by peer]
02:22
ayjay_t has joined ##openfpga
02:34
unixb0y has quit [Ping timeout: 268 seconds]
02:35
gsi_ has joined ##openfpga
02:36
unixb0y has joined ##openfpga
02:38
gsi__ has quit [Ping timeout: 250 seconds]
02:39
genii has quit [Remote host closed the connection]
02:44
<
adamgreig >
is there any in mileage having nextpnr run multiple seeds on multiple threads/cores and report the best result? i find i keep trying five or six seeds to get one that meets timing, and the difference might be +-20MHz
02:44
<
adamgreig >
afaict it's essentially single-threaded atm
02:56
Miyu has quit [Ping timeout: 246 seconds]
03:17
emeb has quit [Quit: Leaving.]
03:32
GenTooMan has quit [Quit: Leaving]
03:32
azonenberg has quit [Ping timeout: 250 seconds]
03:34
azonenberg_work has quit [Ping timeout: 240 seconds]
03:44
rohitksingh_work has joined ##openfpga
04:03
<
tnt >
adamgreig: +- 20M on what target ?
04:39
OmniMancer has joined ##openfpga
05:05
Bike has quit [Quit: leaving]
05:17
dj_pi has quit [Ping timeout: 244 seconds]
05:30
dj_pi has joined ##openfpga
06:06
dj_pi has quit [Quit: Leaving]
06:45
jevinski_ has quit [Read error: Connection reset by peer]
06:45
jevinskie has joined ##openfpga
06:51
jevinski_ has joined ##openfpga
06:51
jevinskie has quit [Ping timeout: 245 seconds]
07:02
azonenberg_work has joined ##openfpga
07:03
emeb_mac has quit [Quit: Leaving.]
07:19
NPHK has quit [Ping timeout: 240 seconds]
07:40
azonenberg_work has quit [Ping timeout: 245 seconds]
07:43
azonenberg_work has joined ##openfpga
08:05
azonenberg has joined ##openfpga
08:13
NPHK has joined ##openfpga
08:32
NPHK has quit [Ping timeout: 246 seconds]
08:46
NPHK has joined ##openfpga
08:48
rohitksingh has joined ##openfpga
09:00
rohitksingh has quit [Ping timeout: 244 seconds]
09:01
rohitksingh has joined ##openfpga
09:43
rohitksingh has quit [Ping timeout: 250 seconds]
10:00
rohitksingh has joined ##openfpga
10:33
rohitksingh has quit [Ping timeout: 252 seconds]
10:33
rohitksingh_work has quit [Quit: Leaving.]
10:40
keesj has quit [Ping timeout: 246 seconds]
10:44
keesj has joined ##openfpga
10:47
rohitksingh_work has joined ##openfpga
11:12
rohitksingh has joined ##openfpga
11:38
rohitksingh has quit [Ping timeout: 240 seconds]
11:50
ardi has joined ##openfpga
12:32
C_Elegans-work has quit [Remote host closed the connection]
12:32
C_Elegans-work has joined ##openfpga
12:58
rohitksingh_work has quit [Read error: Connection reset by peer]
13:01
indy has joined ##openfpga
13:48
Flea86 has quit [Quit: Goodbye and thanks for all the dirty sand ;-)]
14:01
OmniMancer has quit [Quit: Leaving.]
14:36
genii has joined ##openfpga
14:44
<
ZipCPU >
adamgreig: Ask daveshah about his improvements to nextpnr ;)
14:47
rohitksingh has joined ##openfpga
14:54
emeb has joined ##openfpga
15:16
Miyu has joined ##openfpga
15:24
rohitksingh has quit [Ping timeout: 240 seconds]
15:37
rohitksingh has joined ##openfpga
15:59
Asu has joined ##openfpga
16:39
ardi has quit [Quit: Page closed]
17:47
rohitksingh has quit [Ping timeout: 250 seconds]
18:26
m4ssi has quit [Remote host closed the connection]
20:37
mumptai has joined ##openfpga
20:44
tmeissner has joined ##openfpga
22:11
<
adamgreig >
daveshah: should your placer_heap build atm? i'm trying to build it but it's bombing out
22:12
<
adamgreig >
probably dependency hell, error's in generated/taucs/src/double/taucs_ccs_ops.c where it looks like maybe a variable name is being reused or something
22:12
<
daveshah >
Yeah, taucs is a bit crap
22:12
<
daveshah >
What OS?
22:12
<
adamgreig >
ubuntu 18.04
22:12
<
daveshah >
Compiler?
22:13
<
adamgreig >
gcc 7.3
22:14
<
daveshah >
Interesting, seems alright for me on Arch with gcc 8 and Ubuntu 16.04 with gcc 5.4
22:14
<
daveshah >
What is the exact error?
22:14
<
tnt >
built for me yesterday with gcc 7.3
22:14
<
adamgreig >
it's possible cmake has picked clang instead of gcc? just poking it to find out what command line it's actually running
22:16
<
adamgreig >
defo gcc
22:16
<
daveshah >
I think this is probably a problem with the openblas version Ubuntu 18.04 supplies
22:16
<
adamgreig >
but also it just built ok
22:16
<
adamgreig >
wonder if it's a make -j thing
22:16
<
adamgreig >
third attempt worked, just running make again and again
22:16
<
adamgreig >
oh, no, lol, I take that back, I'd just swapped back to master branch
22:17
<
adamgreig >
continues to fail on placer_heap, and is definitely using gcc 7.3
22:17
<
daveshah >
Try commenting out the troublesome function, I don't think any of the calls I make into tauc actually use that
22:17
<
adamgreig >
openblas is 0.2.20
22:17
<
tnt >
oh, I bet it's using I / J as the complex 1.0j constant ?
22:17
<
adamgreig >
yea seems possible
22:18
<
q3k >
daveshah: oh shit, this uses openblas?
22:18
<
q3k >
daveshah: that's going to be painful to use on gentoo
22:18
<
q3k >
daveshah: since it's not in the main repo, only in gentoo-scientific
22:18
<
q3k >
daveshah: and things break when you pull that overlay in
22:19
<
adamgreig >
huh, how come? openblas is pretty popular i thought
22:19
<
daveshah >
I don't know if we'll keep Tauc as the solver
22:19
<
q3k >
adamgreig: no idea.
22:19
<
daveshah >
Tauc is quite poor quality, I had to make some global variables threadlocal to call the solver in two different threads
22:19
<
q3k >
sounds like average scientific software
22:19
<
daveshah >
It should work with other BLASs but performance will probably be worse
22:20
<
daveshah >
At least its not f2c like other solvers out there
22:20
<
tnt >
q3k: mm, I built it on gentoo without noticing anything at least.
22:20
<
adamgreig >
aw, i yanked the trouble function and it got all the way to linking
22:20
<
adamgreig >
taucs_ccs_ops.c:(.text+0x78): undefined reference to `taucs_dccs_permute_symmetrically'
22:20
<
q3k >
daveshah: i have blas-reference and cblas-reference
22:20
<
q3k >
daveshah: ie netlib.org/{,c}blas
22:21
<
daveshah >
I think they should work
22:21
<
q3k >
tnt: so maybe it juist built against those
22:21
<
daveshah >
Probably won't notice performance difference until you get to xc7
22:21
<
tnt >
q3k: indeed sci-libs/blas-reference-20070226-r4 is what provides /usr/lib64/blas/reference/libblas.so.0.0.0 and nextpnr links against that.
22:21
<
daveshah >
adamgreig: ah, that's annoying
22:22
<
adamgreig >
tried to fix the function by renaming the variables and should have paid more attention
22:22
<
adamgreig >
‘TAUCS_HERMiiTiiAN’ is not defined apparently :P
22:22
<
tnt >
adamgreig: lol
22:23
<
q3k >
tnt: yeah, that's blas-reference, not openblas
22:23
<
tnt >
q3k: but it works for this, so all is right with the world :p
22:23
<
q3k >
sure, i thought daveshah required openblas explicitely
22:24
<
q3k >
also, as he mentioned, it might be slower than openblas
22:24
<
daveshah >
I've only tested against openblas
22:24
<
daveshah >
For iCE40 I doubt it matters
22:24
<
daveshah >
For bigger FPGAs openblas probably becomes worthwhile
22:24
<
adamgreig >
ok, fixed the function properly and it builds ok
22:25
<
adamgreig >
6.3s instead of 20.6s for the same design
22:25
<
adamgreig >
timing is improved but within seed variance
22:25
<
adamgreig >
does it make sense to still use --opt-timing?
22:26
<
tnt >
2x to 3x faster has been my experience. QoR is similar, within the variance I think.
22:26
<
daveshah >
I don't know how much different --opt-timing will make
22:26
<
daveshah >
Might improve things a bit, but will slow down too
22:26
<
adamgreig >
it was making a nice little improvement to fmax previously
22:27
<
zkms >
having a way to run nextpnr with a bunch of random seeds and output the worst/average/best timings would be useful i think
22:27
<
daveshah >
This PR uses a slightly better approach to timing in the placer so might reduce the different --opt-timing makes
22:27
<
adamgreig >
zkms: yea, ideally in parallel :P
22:27
<
zkms >
if only to judge the effects of these changes
22:28
<
zkms >
but also it'd be nice to have nextpnr change seeds until it meets --freq argument
22:28
<
adamgreig >
daveshah: oh indeed, taking out opt-timing just helped actually
22:28
<
adamgreig >
98->102MHz (with->without opt-timing)
22:28
<
daveshah >
I tend to use this script and variants thereof for benchmarking
22:29
<
daveshah >
In order to average out some of the seed variation
22:29
<
adamgreig >
i more want to run 16 in parallel or whatever to more quickly find a seed that meets timing
22:29
<
adamgreig >
though i should probably not worry about it so much since i'm sitting at room temperature and just doing development
22:30
<
adamgreig >
nextpnr master without opt-timing is 21s so this is a 3.8x speedup, pretty sweet
22:30
<
adamgreig >
(and with seed 0, placer_heap gets about 12MHz more fmax than master)
22:30
<
daveshah >
Hopefully this is now faster than arachne
22:39
<
zkms >
huh, timing estimate from icetime and nextpnr is...quite different
22:39
<
zkms >
the former gives like 93MHz, the latter, 102MHz
22:40
<
daveshah >
Can you post path reports from both?
22:41
<
daveshah >
There are a few known differences as to how they determine things
22:50
<
adamgreig >
placer_heap seems to do a more pleasing job of sticking everything together in a corner instead of spreading it out all over the place too
22:50
<
adamgreig >
easier to believe this is 30% of luts used :P
22:51
<
daveshah >
zkms: thanks
22:51
<
zkms >
daveshah: if you want the .json/.asc files lmk
22:51
<
daveshah >
I need to investigate further, but I think this is probably a bug in how nextpnr tracks timing when rotating LUT inputs
22:52
<
zkms >
and thanks a bunch for working on this!
22:58
ayjay_t has quit [Read error: Connection reset by peer]
22:59
ayjay_t has joined ##openfpga
23:00
q3k is now known as ```q3k```
23:00
```q3k``` is now known as `q`3`k`
23:06
<
adamgreig >
aw, i was hoping under load you might see thermally how the placer has put everything in one corner of the die
23:06
<
adamgreig >
but the whole fpga is barely above ambient
23:06
<
adamgreig >
the mems osc is hotter...
23:10
<
tnt >
adamgreig: I filled an entire up5k with toggling registers at > 100M while overvolting it by 15% and still could only get it like 1-2C above ambient.
23:10
<
adamgreig >
they're not joking about the low power usage huh
23:10
<
tnt >
yeah. On my first up5k board I designed, I used a 1.5A switcher for the vcore .... I think in that experiment it was like ... 20 mA or so.
23:11
<
adamgreig >
yea i have a tiny sot23 ldo for 1v2 and it's barely warm
23:11
<
adamgreig >
sure makes the design simpler
23:14
`q`3`k` is now known as q3k
23:18
<
azonenberg >
adamgreig: try an ultrascale if you want it to run hot :p
23:23
Asu has quit [Remote host closed the connection]
23:23
<
daveshah >
zkms: think I've already fixed the timing bug in master the other day and didn't have that commit in the placer_heap branch
23:23
<
daveshah >
I've rebased now...
23:36
q3k is now known as ][
23:36
][ is now known as [`]
23:37
[`] is now known as q3k
23:51
Bike_ has joined ##openfpga
23:52
Bike_ is now known as Bike
23:53
mumptai has quit [Quit: Verlassend]
23:56
Flea86 has joined ##openfpga