Re:Shazam: Why cloud GPUs finally make sense
by jalk on Friday May 05, 2017 @05:22AM
(#14272134)
Is this post correct - or is it just too vague to make sense?
It seems wrong to me that they receive audio-fingerprints and do lookups in a database they host on GPUs.
If they have the fingerprint already, why the GPU and not just a key-value store. I.e. AWS DynamoDB with 40.000.000 of 5Kb (250gb) large at 1000 reads/s and 100 writes/s costs less than $500 a month (which is probably comparable to what google cloud can offer). I doubt that you get a whole lot of beefy GPU instance for that price
It sounds more like they use the GPUs to generate the fingerprints
Re:Shazam: Why cloud GPUs finally make sense
by sangnoir on Friday May 05, 2017 @06:49AM
(#14272464)
> If they have the fingerprint already, why the GPU and not just a key-value store.
They do not recieve a fingerprint from a client, just an audio snippet. A fingerprint for the audio snippet will need to be calculated on the GPU (probably via some FFT operation) and then matched against a db. It's probably much faster to do the db matching within GPU memory instead of shuffling fingerprint values to the CPU first (extra cycles) and doing another operation to extract a match from a key-value store (extra network calls).
Re:Shazam: Why cloud GPUs finally make sense
by floatboth on Friday May 05, 2017 @09:38AM
(#14273313)
Yeah, pretty much all phones these days have relatively powerful GPUs. However the GPGPU situation is not awesome?? IIRC RenderScript is way more limited than OpenCL…
Though it seems that what they're doing is matching against the database on their GPUs, can't do that on the phone without downloading their huge proprietary dataset :D
It seems wrong to me that they receive audio-fingerprints and do lookups in a database they host on GPUs. If they have the fingerprint already, why the GPU and not just a key-value store. I.e. AWS DynamoDB with 40.000.000 of 5Kb (250gb) large at 1000 reads/s and 100 writes/s costs less than $500 a month (which is probably comparable to what google cloud can offer). I doubt that you get a whole lot of beefy GPU instance for that price
It sounds more like they use the GPUs to generate the fingerprints
They do not recieve a fingerprint from a client, just an audio snippet. A fingerprint for the audio snippet will need to be calculated on the GPU (probably via some FFT operation) and then matched against a db. It's probably much faster to do the db matching within GPU memory instead of shuffling fingerprint values to the CPU first (extra cycles) and doing another operation to extract a match from a key-value store (extra network calls).
Though it seems that what they're doing is matching against the database on their GPUs, can't do that on the phone without downloading their huge proprietary dataset :D