/* * Copyright (C) 2014 - Martin Berger * CONRAD is developed as an Open Source project under the GNU General Public License (GPL). */ package edu.stanford.rsl.conrad.data.generic.opencl; import edu.stanford.rsl.conrad.data.OpenCLMemoryDelegate; import edu.stanford.rsl.conrad.data.generic.GenericGrid; import edu.stanford.rsl.conrad.data.generic.GenericGridOperatorInterface; import edu.stanford.rsl.conrad.data.generic.datatypes.Gridable; public interface OpenCLGenericGridInterface<T extends Gridable<T>> { OpenCLMemoryDelegate getDelegate(); void notifyAfterWrite(); void notifyBeforeRead(); GenericGridOperatorInterface<T> getGridOperator(); GenericGridOperatorInterface<T> selectGridOperator(GenericGrid<T> ... grids); void activateCL(); void deactivateCL(); }