Writing better code – Parallelize

Today, I am going to share a secret recipe for writing beautiful and efficient code that I learned, while creating simulation models for nanoveda.

Nanoveda is using advanced nanoscale simulations to design next generation cancer therapeutics.

The secret recipe is: parallelizing code.

Most modern PCs have a multicore processor inside it. We seldom code to exploit all the cores. The greatest advantage of coding for parallel processing is: getting things done faster. This is possible by utilizing all the available resources in your computer. The coding principles for parallel computing described here are applicable to cloud computing also. While using cloud computing infrastructure, we often buy virtual machines with multiple processing cores and seldom use all the processing power we paid for, to run the codes. Coding for parallel processing allows efficient use of available computing resources.

Here, I am using an example in R to demonstrate how to write a program for parallel processing.

The code above uses 2 cores to run the function: ‘some.function’. This was achieved using doParallel and foreach packages.

To utilize all the available cores for parallel processing, modify the doParallel parameters to:

Parallel processing has another huge advantage. Very lengthy and complex codes can be executed with limited resources without overwhelming the system. Parallel processing is one of the key steps in code optimization. Parallelized code facilitate efficient running of massive simulation models and machine learning codes. To take advantage of hardware solutions such as Xeon Phi require this skill to code for multiple processing cores.

Nanoveda has a crowdfunding campaign to support the awesome work to create next generation cancer therapy. Donation, or not, share our crowdfunding campaign and help spread the word.

Innovation at its core – Making nanoscience accessible.

In this blog post, I will detail two key philosophies that are behind nanoveda.

LEAP philosophy:

Most important guiding philosophy of nanoveda is very simple: bringing nano-science to masses. The first product we are developing is to address one of the toughest challenges known to human-kind: controlling and curing cancer.

Achieving this goal is a step-wise process. My four steps to achieve this goal are:

  1. Learn.
  2. Experiment.
  3. Analyse and adapt.
  4. Predict.

These four steps or the LEAP philosophy is pivotal to bringing success to any processes and summarizes my pathway to accelerate innovation at nanoveda.

Radical openness:

Another key philosophy at nanoveda is: radical openness. To control processes at the level  of nano-scale, nanoveda needs cutting edge tools. As a startup, the cost of researching and developing these tools are beyond our current capabilities. Also, the new learning and knowledge that we gain during nanoveda’s step-wise progress, needs to be implemented quickly in our tools. To achieve all this, we are embracing the philosophy of radical openness. An example of radical openness at work, is our love of open-source software. Open systems power our toolkit for predictive analytics of nano-scale systems. Another revolutionary toolkit is helping nanoveda build simulation models of nano-scale drugs.

Radical openness is an important driving force of nanoveda’s quest to succeed in building a next generation nano-sciences company.

Nanoveda has a crowdfunding campaign to support the awesome work to create next generation cancer therapy. Donation, or not, share our crowdfunding campaign and help spread the word.

 

 

Advancing cancer cure – Nanøveda.

About Nanøveda
I am a co-founder of cancer therapeutics startup: nanøveda. The name nanøveda is a neologism by combining three seed words: nano, eir (the goddess and valkyrie of healing in Norse mythology) and veda (sanskrit for knowledge). We are an early stage start-up developing advanced cancer treatments.

The technology we are developing combines our expertise in nanotechnology, personalized medicine and cancer pathways.

One of the disease models we are targeting using nanøveda’s technology, is to treat an incurable form of brain cancer called glioblastoma multiforme (GBM).

How You Can Help
The next step in making nanøveda’s technology a reality is to fund our efforts to secure necessary intellectual property. This development process is very time consuming and expensive.

Nanøveda has launched its first gofundme campaign. This crowdfunding campaign will cover the legal expenses related to filing patents for technology that nanøveda has developed.

Nanøveda’s Mission | Why It’s So Important
Nanøveda’s mission of advancing next generation cancer therapeutics has a great personal meaning to me.

I want you to be part of nanøveda’s journey to advance precision cancer therapy. Donation or not, please share our crowdfunding campaign and support our cause.

Donate here: gofundme page for nanøveda

Welcome to my blog – Life notes.

For 2017, my new year resolution is to organize and share my thoughts on my website. I have added this blog, to share my ideas and my life being a doctor, neuroscientist, researcher in applied artificial intelligence and my hobbies in PC gaming & green living.

Join me in this journey.