Speed up MATLAB code on Linux Cluster - repost

Budget $30 - $250 USD
Bids 6
Average Bid $784

Hi there,
For a customer I've got a matlab project:

I've got a quite large matlab code that takes a a long time to run. Toe code solve an economic model numerically and consists of two main part: The first part solves an analytic equiation of on a large multidimensional grid (similar to the finite elements method). The second part simulates the model using random numbers and the solutions found in the first part. Part 1 is about 90 lines including emtpy lines (see EGM_parfor.m), and part 2 is about 160 lines (see Simulate.m). Both files use similar functions.

The code runs fine, but it doesn't scale well and the speed up is not so large when i run on multiple cores. What I'd like help with is:

Optimize the code so that it runs faster in parallel. Please leave inputs and outputs unchanged so I don't need to alter the code in any other place in order to use the changes.
* There is probably a lot of performance to gain by correctly accessing the memmory ex by accessing data in colunmns and avoid creating unneccesary variables as outlined in [url removed, login to view])
* There might be some help on this blog?: [url removed, login to view] (But the code don't have many matrix multiplications)

This code is not yet parallelized. It is much quicker than the EGM_parfor, but still a little slow. Please leave inputs and outputs unchanged so I don't need to alter the code in any other place in order to use the changes.
* Please optimize the code to run faster, maybe some of the tricks from above?
* Further, please paralellize the code by adding an "outer" loop around it that divides the code into N "chunks" that each run on a separate matlab worker. For example, if there is 100k simulations and N=4, then create a parfor-loop that runs the first 25k simulations in the first iteration, simulations 25001-50k on the second iteration, and so on.

I attach the files you need to see in order to make a bid. Once I've decided on a bidder I will send all of the files as a .zip-file.

In order for me to take your bid seriously please write a few sentences about your experience of using PCT and MDCS in general and your experience with optimizing such code on a 64bit linux cluster specifically.

I will put all the money on escrow, but not release the payment until I'm 100% satisfied that the code is working as before, but substantially faster. I expect a code improvement of around 10 times (EG_parfor + Simulate). If you can speed it up as much as 50 times I will double your bid as payment, 100 times tripple it.

Post a Project Like This

This project was awarded to

About the Freelancer

Looking to make some money?

  • Set your budget and the time frame
  • Outline your proposal
  • Get paid for your work

Bids on this Project

  • stephanembinky Profile Picture


    saint sebastien sur loire,  France

    I am well qualified Programmation C Developer and Programmation C++ Programmer. I have a strong skill set and foundation in Programmation C and Programmation C++ as I have been working with these for many years. I also have strong skills in Electronique and Logiciels Embarqués having worked in these areas. I also have sound experience with Ingénierie. If hired by you I will put in my best effort and deliver high quality work. I am ready to be hired by you.

    C Programming, Linux, Engineering, and Electronics

  • enggworks Profile Picture


    Calicut, KL,  India

    I hold a PhD in Communication Engineering - I have over 10 years of Matlab programming experience and am an Expert Matlab programmer. I do projects in Image Processing, Computer Networking, Numerical Computations etc. I am also an experienced PCB designer. I usually work on ORCAD and Eagle for PCB designing. I have a strong research background with a research publication record including top quality IEEE and Springer journals and leading conferences. I have done quite a few projects in freelancer. I have completed ALL projects assigned to me on Freelancer. Unfortunately, one employer deleted the project before marking it complete. That is why my completion rate is given as less than 100%. Please check my reviews to see that I have done projects in many domains. My rates are also quite competitive. Hire me to make sure that your project is completed on time.

    Engineering, Electronics, Matlab & Mathematica, and Scientific Research

  • erasiterajiv Profile Picture


    Delhi,  India

    Advait Tech International is a global IT services Delhi based company that provide complete IT solution. It provides services including software solution, enterprise solution, outsourcing, web solution, embedded solution, data digitization, consultation, and networking and server management. We served to various client like government and defense, private, research and development, education, medical, hotel, credentialing, independent customize software, networking & server, finance and travel. Our way of working on variety of project makes us unique solution provider in leading embedded system and design and ASP.NET Web Development Company. We have creative team to develop your quality product. We are specialized to deliver good websites , web applications, and product development solution for embedded system and networking. Our work gives us the height to feel proud. We are passionate to develop embedded system and web solutions, which requires a combination of good user experience, design and functionality. We value the long-term relationship we create with our customers and ultimately become an extension of their businesses.

    C Programming, XML, .NET, and Windows Desktop

  • mariannedelcu Profile Picture


    Bucharest,  Romania

    Professionalism and reliability

    PHP, Engineering, Matlab & Mathematica, and CAD/CAM

  • ardiles1309 Profile Picture


    General Lagos,  Argentina

    As a chemical engineer, with more that 30 years experience in industry and 15 years in SAP PP/QM, I am looking for a position that allows to apply all my skills.

    Engineering, Matlab & Mathematica, Manufacturing, and Algorithm

  • CJentzsch Profile Picture


    Mittweida,  Germany

    Ich habe Erfahrung mit der mathematischen Modellierung von physikalischen Systemen. Ich schreibe hochparalleliserte (CUDA, OpenMP, MPI) Simulationssoftware. Ich habe in der Vergangenheit auch Modelierungssoftware für die Automobilindustrie mitentwickelt, und Erfahrung mit test-basierter Entwicklung (TDP). Ich bin in der Lage mich in neue Themenbereiche schnell einzuarbeiten und freue mich auf interessante Herausforderungen.

    C Programming, Linux, Research, and Algorithm