University of Glasgow logo

Dejice Jacob

About Me

Photo of Dejice Jacob

School of Computing Science
Room F101, Sir Alwyn Williams Building
Lillybank Gardens, University of Glasgow
Glasgow, G12 8QQ

email me :

I am a third year PhD student in the School of Computing Science at the University of Glasgow. I am supervised by Dr. Jeremy Singer and by Dr.Phil Trinder.

My résume will give you a better idea of what I have been up to so far.

My Research Interests :

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:

Other bits and pieces

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.

Other Stuff