Damus
Andrew Zonenberg profile picture
Andrew Zonenberg
@Andrew Zonenberg

Security and open source at the hardware/software interface. Embedded sec @ IOActive. Lead dev of ngscopeclient/libscopehal. GHz probe designer. Open source networking hardware. "So others may live"

Toots searchable on tootfinder.

Relays (1)
  • wss://relay.ditto.pub – read & write

Recent Notes

Andrew Zonenberg profile picture
Another new record. Three ThunderScopes (the fourth one isn't yet installed in a host, testing that is on deck for tonight) live streaming 1 Gsps per scope to a single ngscopeclient session, running full-rate FFTs on the 24 Gbps of incoming waveform data.

Ngscopeclient is so fast that it's easy to forget just how much data you're crunching until you look down and see the network load monitor on your 100G pipe is actually a decent chunk of the way up the bargraph

Andrew Zonenberg · 2d
Making progress on the initial PoC for the FPGA debug tool suite. This is using my existing APB_GPIO core on the Titanium side, just tunneling APB reads and writes over UART then making a SCPI comman...
Andrew Zonenberg profile picture
One of the capabilities of an ngscopeclient-integrated gateware debug suite that I'm most excited about is the ability to do cross triggering and multi instrument integration.

I've wanted simultaneous gateware and analog PHY view of protocol / SI issues for a long time and I'm finally actually working towards making it happen.
Andrew Zonenberg profile picture
Making progress on the initial PoC for the FPGA debug tool suite.

This is using my existing APB_GPIO core on the Titanium side, just tunneling APB reads and writes over UART then making a SCPI command interface to remote control it in a more human readable format than raw register access.

Next step, libscopehal driver and ngscopeclient GUI support for GPIO as a device class. I already added "digital scalar of 1-64 bit width" as a new data stream type so that should easily map to this.

1
Andrew Zonenberg · 2d
One of the capabilities of an ngscopeclient-integrated gateware debug suite that I'm most excited about is the ability to do cross triggering and multi instrument integration. I've wanted simultaneous gateware and analog PHY view of protocol / SI issues for a long time and I'm finally actually work...
Andrew Zonenberg · 3d
Microscope bench workstation is getting an oculink card. Which one? It's a Supermicro X12SPi-TF mainboard that currently has a USB controller in slot 7, slot 6 vacant, I think the M.2 is considered s...
Andrew Zonenberg profile picture
Looking at the mobo datasheet, there actually isn't a slot 3 at all (I guess it's meant for a GPU).

So I have slots 6, 5, 4, 2, and 1 to play with.

Slot 4 and 6 are x16, 1, 2, and 7 are x8 (but 2 is physically x16). And it doesn't look like there's any lane sharing, they're all dedicated non-oversubscribed capacity.

There's also another eight lanes on a SFF connector presumably meant for a NVMe backplane but I have no easy way to use that.

So that means...
* Slot 7 USB card has 8 lanes that it's definitely not fully utilizing,
* Slot 6 is an empty x16
* Slot 4 GPU is x16 and using it fully
* Slot 2 NIC actually wants to be x16 but is in an x8 slot
* Slot 1 is an empty x8

I think I'm gonna keep all the current cards where they are. PCIe gen4 x8 is 16 GT/s * 8 lanes = 128 Gbps so after protocol overhead it should still be able to saturate a single 100G pipe, and I won't have enough 100G switch ports (even with the new 100G switch I have on order) to light up the second QSFP28 port any time soon.

So that means I can either put the oculink card in slot 1 (x8) or 6 (x16). According to the Supermicro manual (although I'm not in the BIOS setup right now) both of these support bifurcation down to x4.

So I think I'm gonna put the oculink in 6, leaving 1 vacant. Mostly because the CX6 is probably running hot and I want more space around it for airflow until I get the new fan mount installed on it.
Andrew Zonenberg · 3d
Once I get them all cabled up including some test signal sources, I should be able to push 32 Gbps (plus protocol overhead) to a single client over 40/100GbE. Can my GPU handle that? I think FFT is p...
Andrew Zonenberg profile picture
Microscope bench workstation is getting an oculink card. Which one?

It's a Supermicro X12SPi-TF mainboard that currently has a USB controller in slot 7, slot 6 vacant, I think the M.2 is considered slot 5, a GTX 1650 in slots 4 and 3, a ConnectX 6 DX in slot 2, and slot 1 is vacant.
1
Andrew Zonenberg · 2d
Looking at the mobo datasheet, there actually isn't a slot 3 at all (I guess it's meant for a GPU). So I have slots 6, 5, 4, 2, and 1 to play with. Slot 4 and 6 are x16, 1, 2, and 7 are x8 (but 2 is physically x16). And it doesn't look like there's any lane sharing, they're all dedicated non-overs...
Andrew Zonenberg · 3d
How many Gbps of waveform data can I shove into one GPU and do something useful with? We're gonna find out pretty soon. Need to run a cal cycle on the one currently on the test fixture then install i...
Andrew Zonenberg profile picture
Once I get them all cabled up including some test signal sources, I should be able to push 32 Gbps (plus protocol overhead) to a single client over 40/100GbE.

Can my GPU handle that? I think FFT is probably going to be a good initial benchmark since VkFFT is so fast. If that won't keep up, nothing else is likely to.
1
Andrew Zonenberg · 3d
Microscope bench workstation is getting an oculink card. Which one? It's a Supermicro X12SPi-TF mainboard that currently has a USB controller in slot 7, slot 6 vacant, I think the M.2 is considered slot 5, a GTX 1650 in slots 4 and 3, a ConnectX 6 DX in slot 2, and slot 1 is vacant.
Andrew Zonenberg profile picture
How many Gbps of waveform data can I shove into one GPU and do something useful with?

We're gonna find out pretty soon. Need to run a cal cycle on the one currently on the test fixture then install it in the VM server, put an oculink board in the microscope bench workstation, then I can think about initial tests.

2
Andrew Zonenberg · 3d
Once I get them all cabled up including some test signal sources, I should be able to push 32 Gbps (plus protocol overhead) to a single client over 40/100GbE. Can my GPU handle that? I think FFT is probably going to be a good initial benchmark since VkFFT is so fast. If that won't keep up, nothing ...
🏳️‍⚧️ Chloé: ADhdSL 512Kb/s · 3d
nostr:nprofile1qy2hwumn8ghj7un9d3shjtnyd968gmewwp6kyqpqqv5atqz9k9c54q8c28kra6sfata0wk7w7x5gkrnde8vmxe5gt00q8mmv7s Small out of scope question: your Siglent SSG ears, did you build it yourself? (I'm thinking to put my instruments in rack)