gp-you uses Matlab OOP classes. However the GPUdouble or GPUsingle objects behaves like objects and not like common Matlab data types. For example if you manipulate a gp-you object within a Matlab function (without intending the data be changed ouside the function), the data will be changed inside GPU memory - It is changed permanently. The whole memory allocation of gp-you does not conform how you write programs in Matlab. second, it is not really fast to use indexing with gp-you data type, eg x(:,1). rather you need to use special "low-level" functions such as assign. always you use indexing such x(:,1), you will cause data transfers between GPU and CPU what is very time consuming. But what is the point of using special function for trivial Matlab stuff?third, if you want the matlab program a little bit faster, you need to compile a Mex-file. The GPUcompiler have a huge problem. if you compile a for-loop, you need to use GPUfor instead of for. But the number of iterations is fixed. if you want your program to be flexible, eg. GPUfor n=1:N, it is not possible because N is fixed to the number you have used during compilation. So you need to compile over and over again every time you want a different number for-loops. the maturity of the gp-you interface is less than beta.