My primary research interests lie in Heterogeneous Computing and Complex Systems. I am primarily interested in dynamically optimising code written in interpreted languages for heterogeneous architectures. For my research, I am closely focusing on the following Questions:
I am involved in the anyscale project. We are investigating the write once, run anywhere paradigm (the original promise of Java) and extending it to the heterogeneous computing landscape.
I am also involved in helping Kristian Hentschel and Anno Lito Michala building out a sensor network for our campus super-sensor network research project. I mainly looked at the sensor drivers and designing the service deployment architecture for the Raspberry Pi's. A workshop paper was published at IEEE FiCloud 16.The code can be found at the anyscale-sensors repo.
kmeans-rpi3 is a small C++ program meant to do K-Means Clustering. It can read and populate data within a text file and do K-Means clustering on it using standard C++. It provides an execution class to do all the operations meant for K-Means clustering. On an ARM based device with NEON support, it will greedily use the NEON vector instructions if the memory alignment of the data allows it, but falls back onto standard CPU execution if the memory alignment is not favourable.
hetero-eg is a small C library meant to parse dense uniform data in 1,2 or 3-dimensions, using any set of single character delimiters. The size of the dimensions are dynamically extracted from the file and written into memory based on the provided delimiters and the user specified native data-type of the data. To enable the developer to use array notation, all the second and third-order pointer indirections are filled in so that (for example) the developer can access the array using array[i][j][k] notation instead of using pointer arithmetic in a dynamically allocated multi-dimensional space.