HNHacker News
TopNewBestAskShowJobs

protomok

303 karma · joined June 1, 2015

Embedded Software dev interested in computer vision, computer architecture, heterogeneous computing, Deep Learning, WiFi, security, and fun side projects.
submissionscomments
protomok··on AMD has put an SSD on a graphics card
Thanks, I missed this. I noticed that the PCIE 3.0 x1 bandwidth is just above what AMD reported in their throughput test - 985 MB/s...I wonder if AMD used a system with the SSD connected to a M.2 slot on the motherboard with just a PCIE 3.0 x1 link.

I should clarify that I do think this onboard SSD concept could be really compelling for certain use cases, such as needing to store several hundred gigs of data which needs to be randomly accessed.

protomok··on AMD has put an SSD on a graphics card
With DMA and the fact that the GPU is a PCIE bus master I don't expect much userland/kernel/interrupt activity...here is my naive implementation of "traditional" 8k video streaming:

(CPU) WHILE video not done

  1 - Initiate DMA from SSD -> main memory with some large (say 128MB) chunk of 8k video

  2 - Signal GPU to begin DMA transfer

  3 - Wait for interrupt from GPU
(GPU) WHILE video not done

  1 - Wait for CPU to indicate data is ready

  2 - Initiate DMA from main memory -> local GPU memory over PCIE 3.0 x16 link

  3 - Issue interrupt to CPU

  4 - Render chunk of video
protomok··on AMD has put an SSD on a graphics card
I'm having trouble seeing the value add here. From the Anandtech article [1] they are using 2x512GB Samsung 950 Pro SSDs which use PCIE v3 x4 with M.2 connectors and a PCIE switch. The drives presumably are using NVME.

The demo claims that without the SSDs they were rendering raw 8k video @17 fps and using the SSDs improved rendering to > 90fps. How can this be such a significant improvement over accessing the same SSDs connected directly to a motherboard? The graphics card would have a PCIE 3.0 x16 connection...plenty of bandwidth and very low latency.

Maybe I'm missing something?

[1] - http://www.anandtech.com/show/10518/amd-announces-radeon-pro...

protomok··on “Give me 15 minutes and I'll change your view of GDB” [video]
Wow, I didn't know gdb has built in reverse debugging or the Python interpreter. The reverse debugger looks awesome!

I'm curious what people use the Python interpreter for?

protomok··on “Give me 15 minutes and I'll change your view of GDB” [video]
I recently switched from doing my C/C++ debugging in gdb to Eclipse here are some of my thoughts:

-> Eclipse can be easily be started from the command line - e.g. "cdtdebug.sh -e ./a.out". A minimal version of Eclipse opens up, and you can immediately step through code, no need to create projects.

-> While GDB TUI mode somewhat mitigates the issue of not having context when debugging it IMHO pales in comparison to seeing the full file in Eclipse.

-> In Eclipse I can see so much more information than gdb. I can see several expressions all being updated, memory views, I can highlight expressions in code. With gdb I could only ever see one thing at a time.

-> Although GDB has more functionality than Eclipse, I found since I couldn't remember certain GDB commands and so I just didn't use certain features that I find myself constantly using in Eclipse because it's just a click away.

protomok··on Google supercharges machine learning tasks with TPU custom chip
I think there will always be an API. In the case of Deep Learning you already see Caffe, TensorFlow, etc. readily available for developers.

I don't think the average developer will need to understand chip design but I do think _many_ developers will need to know how to use deep learning frameworks.

protomok··on Google supercharges machine learning tasks with TPU custom chip
Interesting, I hadn't heard of this term before but it sounds about right!

Maybe the next iteration will be assembly instructions specifically for Neural Nets built into CPUs...actually something like a convolution assembly instruction wouldn't even surprise me at this point.

protomok··on Google supercharges machine learning tasks with TPU custom chip
Based on recent blog posts from some Google folks regarding quantizing neural nets I'm going to guess 8-bit fixed point.

For example -> https://petewarden.com/2016/05/03/how-to-quantize-neural-net...

protomok··on Google supercharges machine learning tasks with TPU custom chip
I'd be interested to know more technical details. I wonder if they're using 8-bit multipliers, how many MACs running in parallel, power consumption, etc.
protomok··on Ask HN: How did you learn about stocks and the market?
+1 for Index investing - also called passive investing, couch potato investing etc. It is so simple and elegant I can put it in code:

    // Decide asset allocation based on risk tolerance.   E.g. 75% Stocks / 25% Fixed income
    set_asset_allocation(risk_tolerance)

    // Determine which index you want to track. E.g. 25% Canada (TSX)
    // 25% US (S&P500), 25% Developed World (MCSI EAFE)
    select_funds(list_of_funds)

    // Set up automatic purchase plan so your account automatically purchases the funds bi-weekly or monthly.
    enable_auto_purchase(name_of_financial_institution)

    while (alive && working)
        
        // Live and not worry about investments. Instead focus on coding, knitting, cow tipping, etc.
        live(1 year)
        
        // Buy/Sell more units of your funds to return to desired asset allocation
        rebalance()
    done

    retire()
And if history repeats itself you will outperform the top money managers >50% of the time. Check this PDF for the active money managers VS index fund historical results: http://ca.spindices.com/documents/spiva/spiva-us-yearend-201...
protomok··on Learning to Code no longer good advice
The author lists 3 reasons (2 are essentially the same argument) why ""learn to code" is looking like bad advice."...I disagree with all of them...

> CODING CAN’T SAVE YOU

The author essentially states that coding will increasingly be outsourced and so don't bother. But this logic assumes that the size of the market is static...in fact it is not.

Literally every industry right now is already or on the verge of being dramatically changed by technology. Even traditional companies IKEA to McDonalds are turning themselves into tech companies, and all of these companies need coders. Regarding "learning code is hard"...yes...it is. But it is immensely rewarding and provides a very in demand skill set.

> TRAINING OUR ROBO-REPLACEMENTS

> HIGH-TECH UNEMPLOYMENT

I'm not disputing that automation will trigger widespread job losses but an individual is still far better to be the robo training worker than the person being replaced by a robot. If learning to code is such bad advise what alternative does he propose for the individual? Deny the fact that high tech is disrupting traditional industries?

My two cents.

protomok··on First Impressions of a $9 CHIP Computer
That's awesome, and that is dev boards or just the chip itself ?

I got the "NodeMcu Lua WIFI Internet Things development board based ESP8266 CP2102 Arduino" a while ago on eBay for $6.85 USD, price has now dropped to $4.76 USD, plus CAD is better-ish.

I am a ESP8266 fan but not sure that I'd be confident enough to do a product with the ESP8266.

protomok··on First Impressions of a $9 CHIP Computer
I bought an ESP8266 dev board (<$10 CAD shipped!) for side projects, and I think it's great for hobbyists.

But I'm curious if Espressif actually have any design wins? I mean I don't mind using the community Arduino port (which is awesome), and buying from...unknown suppliers :) but is thing commercially viable or just a hobbyist gadget?

protomok··on First Impressions of a $9 CHIP Computer
I think it all depends on the use case.

For example an IOT device probably doesn't need PCIE as it would be more focused on sensors, power consumption, ultra low BOM, etc.

But in the mid - high end embedded space PCIE is already taking over. WiFi chips are switching from SDIO interfaces -> PCIE (finally!), storage is shifting from eMMC -> NVMe (uses PCIE), NICs have been PCIE for a long time, multi board designs are using PCIE b/w boards, etc.

For the higher end embedded systems that need the latency and throughput PCIE is king.

protomok··on The downsides of collaboration between coworkers
My strategy is basically:

-> Politely ask colleagues to send you an IM instead of discussing in person. The context switch hit from a conversation is significantly worse than from an IM.

-> Answer questions by making/editing a wiki page then send a link. Although I find this is less helpful for one off questions or during times of super high work load.

-> If you've helped person X with a similar problem in the past then simply outsource the question to person X.

-> Worst case (especially if someone asks the same question multiple times) play dumb :)

protomok··on BSDCan 2015 Videos Online
+1 I missed that talk. I found the slides (https://www.bsdcan.org/2015/schedule/attachments/306_srbBSDC...) but not the video, and I didn't see the video in the youtube list.
protomok··on Intel Buys Altera for $16.7B
Yes, I'm curious about this as well. Altera has a couple SOCs using Cortex-A9 and Cortex-A53 IP, I wonder if the whole division will get killed.
protomok··on Show HN: Travelio, realtime suggestions while you travel
Looks like a cool idea!
← PreviousPage 3 of 3