Zedge | Data Scientist and Android SWE positions | Trondheim, Norway | ONSITE, FULL-TIME | EU/EEC work permit/visa required | https://corp.zedge.net/join-our-playground
Zedge (NYSE MKT: ZDGE) provides personalization apps/services (primarily on Android and iOS) for ~30 million monthly active users.
On the data science side we use Hadoop and (increasingly) Clickhouse for analytics in combination with both using and developing Deep Learning (Keras/Tensorflow) for content analysis (e.g. audio and images) and content discovery (e.g. recommender systems and search). We are looking for data scientist candidates that also have solid software engineering skills, a doer mindset and an aptitude to learn.
Blog posts related to some of the things we've been looking into related to Deep Learning:
Zedge | Trondheim, Norway and New York City, NY| Full Time/Onsite
Zedge (NYSE Market: ZDGE) is a content platform, and global leader in smartphone personalization, with more than 200 million app installs and 30 million monthly active users.
My experience is that iPhone 6 GPU can be up to 50-70 times faster than the CPU - for single precision floating point (i.e. Swift running on the CPU, and Metal on the GPU). See http://memkite.com/blog/2014/12/18/gpgpu-performance-of-swif... for an example (comparison with Accelerate framework)
That's almost a "what not to do" for using Accelerate. You're introducing multiple passes over the data, and introducing extra dummy arrays that need to be passed over as well, which blows up the load-store traffic further. You're also using vvpowf to compute a simple reciprocal, which is wildly inefficient.
I don't mean to pick on you, but it's a misleading comparison. A basic transform that only gets rid of the extra working arrays and does no other optimizations is ~5-10x faster in my quick timings:
vvexpf(&result, &negx, &localcount)
let one = Float(1)
vDSP_vsadd(&result, 1, &one, &result, 1, localcount)
vDSP_svdiv(&one, &result, 1, &result, 1, localcount)
Thanks and thanks for the interesting read. I've been looking for real uses of formal verification for a long time. I've played a lot with code contracts in C# and I've played some with languages like Eifel - the advantage of this approach is that it's static and it performs actual proof rather than enforcement.
These forms of formal verification could really help with building robust software and if someone makes them easy enough to use I can definitely see them as useful alongside if not instead of unit tests.
Zedge (NYSE MKT: ZDGE) provides personalization apps/services (primarily on Android and iOS) for ~30 million monthly active users.
On the data science side we use Hadoop and (increasingly) Clickhouse for analytics in combination with both using and developing Deep Learning (Keras/Tensorflow) for content analysis (e.g. audio and images) and content discovery (e.g. recommender systems and search). We are looking for data scientist candidates that also have solid software engineering skills, a doer mindset and an aptitude to learn.
Blog posts related to some of the things we've been looking into related to Deep Learning:
- https://corp.zedge.net/developers-blog/creative-ai-on-the-ip...
- https://corp.zedge.net/developers-blog/deep-learning-at-zedg...
(I am leading the data science team)