A computer system for optimizing data transfer time, the computer system comprising: - a graphical user interface for receiving a user request to perform online analytical processing computation; - a central processing unit; - a graphics processor unit being a specialized processor being adapted to serve as a co-processor to the central processing unit; - a first memory of the central processing unit, wherein the first memory stores: -- an online analytical processing cube required for online analytical processing computation, the online analytical processing cube comprising one or more slices; and -- a lookup data structure comprising addresses of the one or more slices in a second memory, wherein the second memory is a device memory of the graphics processor unit; - an identification module executable on the central processing unit to identify the one or more slices of the online analytical processing cube based on a user request to perform online analytical processing computation being a data aggregation, wherein the one or more slices are identified based on the axes dimensions and filter dimensions in the user request; - a transfer module adapted to sending only slice addresses to the second memory provided the addresses of the one or more slices are available in the lookup data structure, wherein, if the address is not available in the lookup data structure, the one or more slices are transferred to the second memory and the addresses of the one or more slices that are transferred to the second memory are stored in the lookup data structure in the first memory; wherein the graphics processor unit is adapted to - de-reference the received one or more slice addresses to fetch the one or more slices from the second memory if only the addresses were provided to the second memory and wherein the graphics processor unit is adapted for - performing the online analytical processing computation for the one or more identified slices; and for - sending back a result of the online analytical processing computation from the second memory to the first memory. - a graphical user interface for receiving a user request to perform online analytical processing computation; - a central processing unit; - a graphics processor unit being a specialized processor being adapted to serve as a co-processor to the central processing unit; - a first memory of the central processing unit, wherein the first memory stores: -- an online analytical processing cube required for online analytical processing computation, the online analytical processing cube comprising one or more slices; and -- a lookup data structure comprising addresses of the one or more slices in a second memory, wherein the second memory is a device memory of the graphics processor unit; -- an online analytical processing cube required for online analytical processing computation, the online analytical processing cube comprising one or more slices; and -- a lookup data structure comprising addresses of the one or more slices in a second memory, wherein the second memory is a device memory of the graphics processor unit; - an identification module executable on the central processing unit to identify the one or more slices of the online analytical processing cube based on a user request to perform online analytical processing computation being a data aggregation, wherein the one or more slices are identified based on the axes dimensions and filter dimensions in the user request; - a transfer module adapted to sending only slice addresses to the second memory provided the addresses of the one or more slices are available in the lookup data structure, wherein, if the address is not available in the lookup data structure, the one or more slices are transferred to the second memory and the addresses of the one or more slices that are transferred to the second memory are stored in the lookup data structure in the first memory; - de-reference the received one or more slice addresses to fetch the one or more slices from the second memory if only the addresses were provided to the second memory - performing the online analytical processing computation for the one or more identified slices; and for - sending back a result of the online analytical processing computation from the second memory to the first memory.