summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMatthias Vogelgesang <matthias.vogelgesang@kit.edu>2013-11-15 16:33:40 +0100
committerMatthias Vogelgesang <matthias.vogelgesang@kit.edu>2013-11-15 16:33:40 +0100
commit2c17dac387a7012f8d1af699bb07a0bfd3bb405c (patch)
tree662ce6fa374af5089142e4839f9b887ddd586a19
parent4329ed97a81a6f393822abc118155edfdd936488 (diff)
Re-order and cleanup documentation
-rw-r--r--docs/manual/api/general.rst19
-rw-r--r--docs/manual/api/index.rst13
-rw-r--r--docs/manual/api/ufo-0.3.rst1093
-rw-r--r--docs/manual/bugs.rst16
-rw-r--r--docs/manual/glossary.rst14
-rw-r--r--docs/manual/index.rst10
-rw-r--r--docs/manual/install/linux.rst22
7 files changed, 17 insertions, 1170 deletions
diff --git a/docs/manual/api/general.rst b/docs/manual/api/general.rst
deleted file mode 100644
index 3928260..0000000
--- a/docs/manual/api/general.rst
+++ /dev/null
@@ -1,19 +0,0 @@
-================
-General Overview
-================
-
-.. default-domain:: c
-
-UFOs main purpose is to build streaming setups for fast image processing. Each
-setup consists of a :type:`UfoGraph` that contains several :type:`UfoFilter`
-nodes. Each Filter is characterized by its kernel task and the number of its
-input and output :type:`UfoChannel` elements. A Filter is added to the Graph by
-creating a new plugin instance with :func:`ufo_graph_get_filter()`. A connection
-between two Filters can be established either implicitly
-(:func:`ufo_filter_connect_to()`) or explicitly
-(:func:`ufo_filter_connect_by_name()`) which is mandatory for filters with more
-than one in- or output.
-
-Because, each Filter is derived from the `GObject` base class, the properties
-are set with :func:`g_object_set()`.
-
diff --git a/docs/manual/api/index.rst b/docs/manual/api/index.rst
deleted file mode 100644
index c09bb03..0000000
--- a/docs/manual/api/index.rst
+++ /dev/null
@@ -1,13 +0,0 @@
-.. _ufo-api:
-
-=====================================
-UFO Application Programming Interface
-=====================================
-
-This information will help you understand how things work together and why some
-of the design decisions were made the way they are now.
-
-.. toctree::
-
- general.rst
- ufo-0.3.rst
diff --git a/docs/manual/api/ufo-0.3.rst b/docs/manual/api/ufo-0.3.rst
deleted file mode 100644
index e86002c..0000000
--- a/docs/manual/api/ufo-0.3.rst
+++ /dev/null
@@ -1,1093 +0,0 @@
-=====================
-UFO 0.3 API reference
-=====================
-
-UfoArchGraph
-============
-
-.. c:type:: UfoArchGraph
-
- Graph structure that describes the relation between hardware
- nodes. The contents of the :c:type:`UfoArchGraph` structure are
- private and should only be accessed via the provided API.
-
-
-.. c:function:: UfoGraph* ufo_arch_graph_new(UfoResources* resources, GList* remote_addresses)
-
-
- :param resources: An initialized :c:type:`UfoResources` object
- :param remote_addresses: A :c:type:`GList` containing address strings.
-
- :returns: A new :c:type:`UfoArchGraph`.
-
-
-.. c:function:: guint ufo_arch_graph_get_num_cpus(UfoArchGraph* self)
-
-
- :returns: Number of CPU nodes in ``graph``.
-
-
-.. c:function:: guint ufo_arch_graph_get_num_gpus(UfoArchGraph* self)
-
-
- :returns: Number of GPU nodes in ``graph``.
-
-
-.. c:function:: guint ufo_arch_graph_get_num_remotes(UfoArchGraph* self)
-
-
- :returns: Number of remote nodes in ``graph``.
-
-
-.. c:function:: GList* ufo_arch_graph_get_gpu_nodes(UfoArchGraph* self)
-
- #UfoGpuNode elements in ``graph``.
-
- :returns: A list of
-
-
-.. c:function:: GList* ufo_arch_graph_get_remote_nodes(UfoArchGraph* self)
-
- #UfoRemoteNode elements in ``graph``.
-
- :returns: A list of
-
-
-UfoBuffer
-=========
-
-.. c:type:: UfoBuffer
-
- Represents n-dimensional data. The contents of the
- :c:type:`UfoBuffer` structure are private and should only be
- accessed via the provided API.
-
-
-.. c:function:: UfoBuffer* ufo_buffer_new(UfoRequisition* requisition, gpointer context)
-
- Create a new :c:type:`UfoBuffer`.
-
- :param requisition: size requisition
- :param context: cl_context to use for creating the device array
-
- :returns: A new :c:type:`UfoBuffer` with the given dimensions.
-
-
-.. c:function:: void ufo_buffer_resize(UfoBuffer* self, UfoRequisition* requisition)
-
- Resize an existing buffer. If the new requisition has the same
- size as before, resizing is a no-op.
-
- :param requisition: A :c:type:`UfoRequisition` structure
-
-
-.. c:function:: gint ufo_buffer_cmp_dimensions(UfoBuffer* self, UfoRequisition* requisition)
-
- Compare the size of ``buffer`` with a given ``requisition``.
-
- :param requisition: #UfoRequisition
-
- :returns: value < 0, 0 or > 0 if requisition is smaller, equal or larger.
-
-
-.. c:function:: void ufo_buffer_get_requisition(UfoBuffer* self, UfoRequisition* requisition)
-
- Return the size of ``buffer``.
-
- :param requisition: A location to store the requisition of ``buffer``
-
-
-.. c:function:: gsize ufo_buffer_get_size(UfoBuffer* self)
-
- Get the number of bytes of raw data that is managed by the
- ``buffer``.
-
- :returns: The size of ``buffer``'s data.
-
-
-.. c:function:: void ufo_buffer_copy(UfoBuffer* self, UfoBuffer* dst)
-
- Copy contents of ``src`` to ``dst``. The final memory location is
- determined by the destination buffer.
-
- :param dst: Destination :c:type:`UfoBuffer`
-
-
-.. c:function:: UfoBuffer* ufo_buffer_dup(UfoBuffer* self)
-
- Create a new buffer with the same requisition as ``buffer``. Note,
- that this is not a copy of ``buffer``!
-
- :returns: A :c:type:`UfoBuffer` with the same size as ``buffer``.
-
-
-.. c:function:: gfloat* ufo_buffer_get_host_array(UfoBuffer* self, gpointer cmd_queue)
-
- Returns a flat C-array containing the raw float data.
-
- :param cmd_queue: A cl_command_queue object or ``NULL``.
-
- :returns: Float array.
-
-
-.. c:function:: gpointer ufo_buffer_get_device_array(UfoBuffer* self, gpointer cmd_queue)
-
- Return the current cl_mem object of ``buffer``. If the data is not
- yet in device memory, it is transfered via ``cmd_queue`` to the
- object. If ``cmd_queue`` is ``NULL``
-
- :param cmd_queue: A cl_command_queue object or ``NULL``.
-
- :returns: A cl_mem object associated with ``buffer``.
-
-
-.. c:function:: void ufo_buffer_discard_location(UfoBuffer* self, UfoMemLocation location)
-
- Discard ``location`` and use "other" location without copying to
- it first.
-
- :param location: Location to discard
-
-
-.. c:function:: void ufo_buffer_convert(UfoBuffer* self, UfoBufferDepth depth)
-
- Convert host data according to its ``depth`` to the internal
- 32-bit floating point representation.
-
- :param depth: Source bit depth of host data
-
-
-UfoBufferParam
-==============
-
-.. c:type:: UfoBufferParam
-
-
-
-UfoConfig
-=========
-
-.. c:type:: UfoConfig
-
- A :c:type:`UfoConfig` provides access to run-time specific
- settings.
-
-
-.. c:function:: UfoConfig* ufo_config_new()
-
- Create a config object.
-
- :returns: A new config object.
-
-
-.. c:function:: void ufo_config_add_paths(UfoConfig* self, GList* paths)
-
- Add ``paths`` to the list of search paths for plugins and OpenCL
- kernel files.
-
- :param paths: List of strings
-
-
-.. c:function:: GList* ufo_config_get_paths(UfoConfig* self)
-
- Get an array of path strings. file system paths. Use
- :c:func:`g_list_free()` to free it.
-
- :returns: A list of strings containing
-
-
-UfoCpuNode
-==========
-
-.. c:type:: UfoCpuNode
-
- Main object for organizing filters. The contents of the
- :c:type:`UfoCpuNode` structure are private and should only be
- accessed via the provided API.
-
-
-.. c:function:: UfoNode* ufo_cpu_node_new(gpointer mask)
-
-
- :param mask: None
-
- :returns: None
-
-
-.. c:function:: gpointer ufo_cpu_node_get_affinity(UfoCpuNode* self)
-
- Get affinity mask of ``node``.
-
- :returns: A pointer to the cpu_set_t mask associated with
-
-
-UfoDummyTask
-============
-
-.. c:type:: UfoDummyTask
-
- Main object for organizing filters. The contents of the
- :c:type:`UfoDummyTask` structure are private and should only be
- accessed via the provided API.
-
-
-.. c:function:: UfoNode* ufo_dummy_task_new()
-
-
- :returns: None
-
-
-UfoGpuNode
-==========
-
-.. c:type:: UfoGpuNode
-
- Main object for organizing filters. The contents of the
- :c:type:`UfoGpuNode` structure are private and should only be
- accessed via the provided API.
-
-
-.. c:function:: UfoNode* ufo_gpu_node_new(gpointer cmd_queue)
-
-
- :param cmd_queue: None
-
- :returns: None
-
-
-.. c:function:: gpointer ufo_gpu_node_get_cmd_queue(UfoGpuNode* self)
-
- Get command queue associated with ``node``.
-
- :returns: A cl_command_queue object for ``node``.
-
-
-UfoGraph
-========
-
-.. c:type:: UfoGraph
-
- Main object for organizing filters. The contents of the
- :c:type:`UfoGraph` structure are private and should only be
- accessed via the provided API.
-
-
-.. c:function:: UfoGraph* ufo_graph_new()
-
- Create a new :c:type:`UfoGraph` object.
-
- :returns: A :c:type:`UfoGraph`.
-
-
-.. c:function:: void ufo_graph_register_node_type(UfoGraph* self, GType type)
-
- Registers ``type`` to be a valid node type of this graph. If a
- type has not be an added to ``graph``, any attempt to add such a
- node will fail.
-
- :param type: A :c:type:`GType`
-
-
-.. c:function:: GList* ufo_graph_get_registered_node_types(UfoGraph* self)
-
- Get all types of nodes that can be added to ``graph``. identifiers
- that can be added to ``graph``.
-
- :returns: A list of :c:type:`GType`
-
-
-.. c:function:: void ufo_graph_connect_nodes(UfoGraph* self, UfoNode* source, UfoNode* target, gpointer label)
-
- Connect ``source`` with ``target`` in ``graph`` and annotate the
- edge with
-
- :param source: A source node
- :param target: A target node
- :param label: An arbitrary label
-
-
-.. c:function:: gboolean ufo_graph_is_connected(UfoGraph* self, UfoNode* from, UfoNode* to)
-
- Check whether ``from`` is connected to ``to``.
-
- :param from: A source node
- :param to: A target node
-
- :returns: %TRUE if ``from`` is connected to ``to``, otherwise %FALSE.
-
-
-.. c:function:: void ufo_graph_remove_edge(UfoGraph* self, UfoNode* source, UfoNode* target)
-
- Remove edge between ``source`` and ``target``.
-
- :param source: A source node
- :param target: A target node
-
-
-.. c:function:: gpointer ufo_graph_get_edge_label(UfoGraph* self, UfoNode* source, UfoNode* target)
-
- Retrieve edge label between ``source`` and ``target``.
-
- :param source: Source node
- :param target: Target node
-
- :returns: Edge label pointer.
-
-
-.. c:function:: guint ufo_graph_get_num_nodes(UfoGraph* self)
-
- Get number of nodes in ``graph``. The number is always divisible
- by two, because nodes are only part of a graph if member of an
- edge.
-
- :returns: Number of nodes.
-
-
-.. c:function:: GList* ufo_graph_get_nodes(UfoGraph* self)
-
- added to ``graph``.
-
- :returns: A list of all nodes
-
-
-.. c:function:: GList* ufo_graph_get_nodes_filtered(UfoGraph* self, UfoFilterPredicate func, gpointer user_data)
-
- Get nodes filtered by the predicate ``func``. that are marked as
- true by the predicate function ``func``.
-
- :param func: Predicate function to filter out nodes
- :param user_data: Data to be passed to ``func`` on invocation
-
- :returns: A list of all nodes
-
-
-.. c:function:: guint ufo_graph_get_num_edges(UfoGraph* self)
-
- Get number of edges present in ``graph``.
-
- :returns: Number of edges.
-
-
-.. c:function:: GList* ufo_graph_get_edges(UfoGraph* self)
-
- Get all edges contained in ``graph``. error. Release the list with
- :c:func:`g_list_free()`.
-
- :returns: a list of :c:type:`UfoEdge` elements or ``NULL`` on
-
-
-.. c:function:: GList* ufo_graph_get_roots(UfoGraph* self)
-
- Get all roots of ``graph``. that do not have a predessor node.
-
- :returns: A list of all nodes
-
-
-.. c:function:: GList* ufo_graph_get_leaves(UfoGraph* self)
-
- Get all leaves of ``graph``. that do not have a predessor node.
-
- :returns: A list of all nodes
-
-
-.. c:function:: GList* ufo_graph_get_predecessors(UfoGraph* self, UfoNode* node)
-
- Get the all nodes connected to ``node``. nodes of ``node``. Free
- the list with :c:func:`g_list_free()` but not its elements.
-
- :param node: A :c:type:`UfoNode` whose predecessors are returned.
-
- :returns: A list with preceeding
-
-
-.. c:function:: GList* ufo_graph_get_successors(UfoGraph* self, UfoNode* node)
-
- Get the successors of ``node``. nodes of ``node``. Free the list
- with :c:func:`g_list_free()` but not its elements.
-
- :param node: A :c:type:`UfoNode` whose successors are returned.
-
- :returns: A list with succeeding
-
-
-.. c:function:: GList* ufo_graph_get_paths(UfoGraph* self, UfoFilterPredicate pred)
-
- Compute a list of lists that contain complete paths with nodes
- that match a predicate function. that match ``pred``.
-
- :param pred: A predicate function
-
- :returns: A list of lists with paths
-
-
-.. c:function:: void ufo_graph_split(UfoGraph* self, GList* path)
-
- Duplicate nodes between head and tail of path and insert at the
- exact the position of where path started and ended.
-
- :param path: A path of nodes, preferably created with :c:func:`ufo_graph_get_paths()`.
-
-
-.. c:function:: void ufo_graph_dump_dot(UfoGraph* self, gchar* filename)
-
- Stores a GraphViz dot representation of ``graph`` in ``filename``.
-
- :param filename: A string containing a filename
-
-
-UfoGroup
-========
-
-.. c:type:: UfoGroup
-
- Main object for organizing filters. The contents of the
- :c:type:`UfoGroup` structure are private and should only be
- accessed via the provided API.
-
-
-.. c:function:: UfoGroup* ufo_group_new(GList* targets, gpointer context, UfoSendPattern pattern)
-
- Create a new :c:type:`UfoGroup`.
-
- :param targets: A list of :c:type:`UfoNode` targets
- :param context: A cl_context on which the targets should operate on.
- :param pattern: Pattern to distribute data among the ``targets``
-
- :returns: A new :c:type:`UfoGroup`.
-
-
-.. c:function:: void ufo_group_set_num_expected(UfoGroup* self, UfoTask* target, gint n_expected)
-
-
- :param target: None
- :param n_expected: None
-
-
-.. c:function:: UfoBuffer* ufo_group_pop_output_buffer(UfoGroup* self, UfoRequisition* requisition)
-
- that must be released with
- :c:func:`ufo_group_push_output_buffer()`.
-
- :param requisition: Size of the buffer.
-
- :returns: A newly allocated buffer or a re-used buffer
-
-
-.. c:function:: void ufo_group_push_output_buffer(UfoGroup* self, UfoBuffer* buffer)
-
-
- :param buffer: None
-
-
-.. c:function:: UfoBuffer* ufo_group_pop_input_buffer(UfoGroup* self, UfoTask* target)
-
- ufo_group_push_input_buffer().
-
- :param target: The :c:type:`UfoTask` that is a target in ``group``
-
- :returns: A buffer that must be released with
-
-
-.. c:function:: void ufo_group_push_input_buffer(UfoGroup* self, UfoTask* target, UfoBuffer* input)
-
-
- :param target: None
- :param input: None
-
-
-.. c:function:: void ufo_group_finish(UfoGroup* self)
-
-
-
-UfoInputTask
-============
-
-.. c:type:: UfoInputTask
-
- Main object for organizing filters. The contents of the
- :c:type:`UfoInputTask` structure are private and should only be
- accessed via the provided API.
-
-
-.. c:function:: UfoNode* ufo_input_task_new()
-
-
- :returns: None
-
-
-.. c:function:: void ufo_input_task_stop(UfoInputTask* self)
-
-
-
-.. c:function:: void ufo_input_task_release_input_buffer(UfoInputTask* self, UfoBuffer* buffer)
-
-
- :param buffer: None
-
-
-.. c:function:: UfoBuffer* ufo_input_task_get_input_buffer(UfoInputTask* self)
-
- Get the input buffer to which we write the data received from the
- master remote node.
-
- :returns: A :c:type:`UfoBuffer` for writing input data.
-
-
-UfoNodes
-========
-
-.. c:type:: UfoNode
-
- Main object for organizing filters. The contents of the
- :c:type:`UfoNode` structure are private and should only be
- accessed via the provided API.
-
-
-.. c:function:: UfoNode* ufo_node_new(gpointer label)
-
-
- :param label: None
-
- :returns: None
-
-
-.. c:function:: gpointer ufo_node_get_label(UfoNode* self)
-
- Get arbitrary label data of ``node``.
-
- :returns: The label of ``node``.
-
-
-.. c:function:: UfoNode* ufo_node_copy(UfoNode* self)
-
- Get a copy of ``node``. How "deep" the copy is, depends on the
- inherited implementation of ``node``.
-
- :returns: Copy of ``node``.
-
-
-.. c:function:: gboolean ufo_node_equal(UfoNode* self, UfoNode* n2)
-
-
- :param n2: None
-
- :returns: None
-
-
-UfoOutputTask
-=============
-
-.. c:type:: UfoOutputTask
-
- Main object for organizing filters. The contents of the
- :c:type:`UfoOutputTask` structure are private and should only be
- accessed via the provided API.
-
-
-.. c:function:: UfoNode* ufo_output_task_new(guint n_dims)
-
-
- :param n_dims: None
-
- :returns: None
-
-
-.. c:function:: void ufo_output_task_get_output_requisition(UfoOutputTask* self, UfoRequisition* requisition)
-
-
- :param requisition: None
-
-
-.. c:function:: UfoBuffer* ufo_output_task_get_output_buffer(UfoOutputTask* self)
-
- Get the output buffer from which we read the data to be sent to
- the master remote node.
-
- :returns: A :c:type:`UfoBuffer` for reading output data.
-
-
-.. c:function:: void ufo_output_task_release_output_buffer(UfoOutputTask* self, UfoBuffer* buffer)
-
-
- :param buffer: None
-
-
-UfoPluginManager
-================
-
-.. c:type:: UfoPluginManager
-
- Creates :c:type:`UfoFilter` instances by loading corresponding
- shared objects. The contents of the :c:type:`UfoPluginManager`
- structure are private and should only be accessed via the provided
- API.
-
-
-.. c:function:: UfoPluginManager* ufo_plugin_manager_new(UfoConfig* config)
-
- Create a plugin manager object to instantiate filter objects. When
- a config object is passed to the constructor, its search-path
- property is added to the internal search paths.
-
- :param config: A :c:type:`UfoConfig` object or ``NULL``.
-
- :returns: A new plugin manager object.
-
-
-.. c:function:: UfoNode* ufo_plugin_manager_get_task(UfoPluginManager* self, gchar* name)
-
- Load a :c:type:`UfoFilter` module and return an instance. The
- shared object name must be * constructed as "libfilter@name.so".
-
- :param name: Name of the plugin.
-
- :returns: #UfoFilter or ``NULL`` if module cannot be found
-
-
-.. c:function:: GList* ufo_plugin_manager_get_all_task_names(UfoPluginManager* self)
-
- Return a list with potential filter names that match shared
- objects in all search paths.
-
- :returns: List of strings with filter names
-
-
-UfoProfiler
-===========
-
-.. c:type:: UfoProfiler
-
- The :c:type:`UfoProfiler` collects and records OpenCL events and
- stores them in a convenient format on disk or prints summaries on
- screen.
-
-
-.. c:function:: UfoProfiler* ufo_profiler_new(UfoProfilerLevel level)
-
- Create a profiler object.
-
- :param level: Amount of information that should be tracked by the profiler.
-
- :returns: A new profiler object.
-
-
-.. c:function:: void ufo_profiler_call(UfoProfiler* self, gpointer command_queue, gpointer kernel, guint work_dim, gsize* global_work_size, gsize* local_work_size)
-
- Execute the ``kernel`` using the command queue and execution
- parameters. The event associated with the
- :c:func:`clEnqueueNDRangeKernel()` call is recorded and may be
- used for profiling purposes later on.
-
- :param command_queue: A %cl_command_queue
- :param kernel: A %cl_kernel
- :param work_dim: Number of working dimensions.
- :param global_work_size: Sizes of global dimensions. The array must have at least
- :param local_work_size: Sizes of local work group dimensions. The array must have at least ``work_dim`` entries.
-
-
-.. c:function:: void ufo_profiler_foreach(UfoProfiler* self, UfoProfilerFunc func, gpointer user_data)
-
- Iterates through the recorded events and calls ``func`` for each
- entry.
-
- :param func: The function to be called for an entry
- :param user_data: User parameters
-
-
-.. c:function:: void ufo_profiler_start(UfoProfiler* self, UfoProfilerTimer timer)
-
- Start ``timer``. The timer is not reset but accumulates the time
- elapsed between :c:func:`ufo_profiler_start()` and
- :c:func:`ufo_profiler_stop()` calls.
-
- :param timer: Which timer to start
-
-
-.. c:function:: void ufo_profiler_stop(UfoProfiler* self, UfoProfilerTimer timer)
-
- Stop ``timer``. The timer is not reset but accumulates the time
- elapsed between :c:func:`ufo_profiler_start()` and
- :c:func:`ufo_profiler_stop()` calls.
-
- :param timer: Which timer to stop
-
-
-.. c:function:: gdouble ufo_profiler_elapsed(UfoProfiler* self, UfoProfilerTimer timer)
-
- Get the elapsed time in seconds for ``timer``.
-
- :param timer: Which timer to start
-
- :returns: Elapsed time in seconds.
-
-
-UfoRemoteNode
-=============
-
-.. c:type:: UfoRemoteNode
-
- Main object for organizing filters. The contents of the
- :c:type:`UfoRemoteNode` structure are private and should only be
- accessed via the provided API.
-
-
-.. c:function:: UfoNode* ufo_remote_node_new(gpointer zmq_context, gchar* address)
-
-
- :param zmq_context: None
- :param address: None
-
- :returns: None
-
-
-.. c:function:: guint ufo_remote_node_get_num_gpus(UfoRemoteNode* self)
-
-
- :returns: None
-
-
-.. c:function:: void ufo_remote_node_request_setup(UfoRemoteNode* self)
-
-
-
-.. c:function:: void ufo_remote_node_send_json(UfoRemoteNode* self, gchar* json, gsize size)
-
-
- :param json: None
- :param size: None
-
-
-.. c:function:: void ufo_remote_node_get_structure(UfoRemoteNode* self, guint* n_inputs, UfoInputParam** in_params, UfoTaskMode* mode)
-
-
- :param n_inputs: None
- :param in_params: None
- :param mode: None
-
-
-.. c:function:: void ufo_remote_node_send_inputs(UfoRemoteNode* self, UfoBuffer** inputs)
-
-
- :param inputs: None
-
-
-.. c:function:: void ufo_remote_node_get_result(UfoRemoteNode* self, UfoBuffer* result)
-
-
- :param result: None
-
-
-.. c:function:: void ufo_remote_node_get_requisition(UfoRemoteNode* self, UfoRequisition* requisition)
-
-
- :param requisition: None
-
-
-.. c:function:: void ufo_remote_node_cleanup(UfoRemoteNode* self)
-
-
-
-UfoRemoteTask
-=============
-
-.. c:type:: UfoRemoteTask
-
- Main object for organizing filters. The contents of the
- :c:type:`UfoRemoteTask` structure are private and should only be
- accessed via the provided API.
-
-
-.. c:function:: UfoNode* ufo_remote_task_new()
-
-
- :returns: None
-
-
-UfoResources
-============
-
-.. c:type:: UfoResources
-
- Manages OpenCL resources. The contents of the
- :c:type:`UfoResources` structure are private and should only be
- accessed via the provided API.
-
-
-.. c:function:: UfoResources* ufo_resources_new(UfoConfig* config)
-
- Create a new :c:type:`UfoResources` instance.
-
- :param config: A :c:type:`UfoConfiguration` object or ``NULL``
-
- :returns: A new :c:type:`UfoResources`
-
-
-.. c:function:: gpointer ufo_resources_get_kernel(UfoResources* self, gchar* filename, gchar* kernel)
-
- Loads a and builds a kernel from a file. The file is searched in
- the current working directory and all paths added through
- ufo_resources_add_paths ().
-
- :param filename: Name of the .cl kernel file
- :param kernel: Name of a kernel
-
- :returns: a cl_kernel object that is load from ``filename`` or ``NULL`` on error
-
-
-.. c:function:: gpointer ufo_resources_get_kernel_from_source(UfoResources* self, gchar* source, gchar* kernel)
-
- Loads and builds a kernel from a string.
-
- :param source: OpenCL source string
- :param kernel: Name of a kernel
-
- :returns: a cl_kernel object that is load from ``filename``
-
-
-.. c:function:: gpointer ufo_resources_get_context(UfoResources* self)
-
- Returns the OpenCL context object that is used by the resource
- resources. This context can be used to initialize othe third-party
- libraries.
-
- :returns: A cl_context object.
-
-
-.. c:function:: GList* ufo_resources_get_cmd_queues(UfoResources* self)
-
- Get all command queues managed by ``resources``. cl_command_queue
- objects. Free with :c:func:`g_list_free()` but not its elements.
-
- :returns: List with
-
-
-UfoScheduler
-============
-
-.. c:type:: UfoScheduler
-
- The base class scheduler is responsible of assigning command
- queues to filters (thus managing GPU device resources) and decide
- if to run a GPU or a CPU. The actual schedule planning can be
- overriden.
-
-
-.. c:function:: UfoScheduler* ufo_scheduler_new(UfoConfig* config, GList* remotes)
-
- Creates a new :c:type:`UfoScheduler`.
-
- :param config: A :c:type:`UfoConfig` or ``NULL``
- :param remotes: A :c:type:`GList` with strings describing remote machines or ``NULL``
-
- :returns: A new :c:type:`UfoScheduler`
-
-
-.. c:function:: void ufo_scheduler_run(UfoScheduler* self, UfoTaskGraph* task_graph)
-
-
- :param task_graph: None
-
-
-.. c:function:: gpointer ufo_scheduler_get_context(UfoScheduler* self)
-
- Get the associated OpenCL context of ``scheduler``.
-
- :returns: An cl_context structure or ``NULL`` on error.
-
-
-.. c:function:: void ufo_scheduler_set_task_split(UfoScheduler* self, gboolean split)
-
- Sets whether the task graph should be split before execution to
- increase multi GPU performance.
-
- :param split: %TRUE if task graph should be split
-
-
-UfoTaskGraph
-============
-
-.. c:type:: UfoTaskGraph
-
- Main object for organizing filters. The contents of the
- :c:type:`UfoTaskGraph` structure are private and should only be
- accessed via the provided API.
-
-
-.. c:function:: UfoGraph* ufo_task_graph_new()
-
- Create a new task graph without any nodes.
-
- :returns: A :c:type:`UfoGraph` that can be upcast to a :c:type:`UfoTaskGraph`.
-
-
-.. c:function:: void ufo_task_graph_read_from_file(UfoTaskGraph* self, UfoPluginManager* manager, gchar* filename)
-
- Read a JSON configuration file to fill the structure of ``graph``.
-
- :param manager: A :c:type:`UfoPluginManager` used to load the filters
- :param filename: Path and filename to the JSON file
-
-
-.. c:function:: void ufo_task_graph_read_from_data(UfoTaskGraph* self, UfoPluginManager* manager, gchar* json)
-
- Read a JSON configuration file to fill the structure of ``graph``.
-
- :param manager: A :c:type:`UfoPluginManager` used to load the filters
- :param json: ``NULL``-terminated string with JSON data
-
-
-.. c:function:: void ufo_task_graph_save_to_json(UfoTaskGraph* self, gchar* filename)
-
- Save a JSON configuration file with the filter structure of
- ``graph``.
-
- :param filename: Path and filename to the JSON file
-
-
-.. c:function:: void ufo_task_graph_map(UfoTaskGraph* self, UfoArchGraph* arch_graph)
-
- Map task nodes of ``task_graph`` to the processing nodes of
- ``arch_graph``. Not doing this could break execution of
- ``task_graph``.
-
- :param arch_graph: A :c:type:`UfoArchGraph` to which ``task_graph``'s nodes are mapped onto
-
-
-.. c:function:: void ufo_task_graph_split(UfoTaskGraph* self, UfoArchGraph* arch_graph)
-
- Splits ``task_graph`` in a way that most of the resources in
- ``arch_graph`` can be occupied. In the simple pipeline case, the
- longest possible GPU paths are duplicated as much as there are
- GPUs in ``arch_graph``.
-
- :param arch_graph: A :c:type:`UfoArchGraph`
-
-
-.. c:function:: void ufo_task_graph_connect_nodes(UfoTaskGraph* self, UfoTaskNode* n1, UfoTaskNode* n2)
-
- Connect ``n1`` with ``n2`` using ``n2``'s default input port. To
- specify any other port, use
- :c:func:`ufo_task_graph_connect_nodes_full()`.
-
- :param n1: A source node
- :param n2: A destination node
-
-
-.. c:function:: void ufo_task_graph_connect_nodes_full(UfoTaskGraph* self, UfoTaskNode* n1, UfoTaskNode* n2, guint input)
-
- Connect ``n1`` with ``n2`` using ``n2``'s ``input`` port.
-
- :param n1: A source node
- :param n2: A destination node
- :param input: Input port of ``n2``
-
-
-.. c:function:: void ufo_task_graph_fuse(UfoTaskGraph* self)
-
- Fuses task nodes to increase data locality.
-
-
-UfoTaskNode
-===========
-
-.. c:type:: UfoTaskNode
-
- Main object for organizing filters. The contents of the
- :c:type:`UfoTaskNode` structure are private and should only be
- accessed via the provided API.
-
-
-.. c:function:: void ufo_task_node_set_plugin_name(UfoTaskNode* self, gchar* name)
-
-
- :param name: None
-
-
-.. c:function:: gchar* ufo_task_node_get_plugin_name(UfoTaskNode* self)
-
-
- :returns: None
-
-
-.. c:function:: gchar* ufo_task_node_get_unique_name(UfoTaskNode* self)
-
-
- :returns: None
-
-
-.. c:function:: void ufo_task_node_set_send_pattern(UfoTaskNode* self, UfoSendPattern pattern)
-
-
- :param pattern: None
-
-
-.. c:function:: UfoSendPattern ufo_task_node_get_send_pattern(UfoTaskNode* self)
-
-
- :returns: None
-
-
-.. c:function:: void ufo_task_node_set_num_expected(UfoTaskNode* self, guint pos, gint n_expected)
-
-
- :param pos: None
- :param n_expected: None
-
-
-.. c:function:: gint ufo_task_node_get_num_expected(UfoTaskNode* self, guint pos)
-
-
- :param pos: None
-
- :returns: None
-
-
-.. c:function:: void ufo_task_node_set_out_group(UfoTaskNode* self, UfoGroup* group)
-
-
- :param group: None
-
-
-.. c:function:: UfoGroup* ufo_task_node_get_out_group(UfoTaskNode* self)
-
- Get the current out of ``node``. The out group is used to fetch
- the ouput buffer for ``node`` using
- :c:func:`ufo_group_pop_output_buffer()`.
-
- :returns: The out group of ``node``.
-
-
-.. c:function:: void ufo_task_node_add_in_group(UfoTaskNode* self, guint pos, UfoGroup* group)
-
-
- :param pos: None
- :param group: None
-
-
-.. c:function:: UfoGroup* ufo_task_node_get_current_in_group(UfoTaskNode* self, guint pos)
-
- Several nodes can be connected to input ``pos`` of ``node``.
- However, at a time currently selected input group at ``pos``.
-
- :param pos: Input position of ``node``
-
- :returns: The current in group of ``node`` for ``pos``.
-
-
-.. c:function:: void ufo_task_node_switch_in_group(UfoTaskNode* self, guint pos)
-
-
- :param pos: None
-
-
-.. c:function:: void ufo_task_node_set_proc_node(UfoTaskNode* self, UfoNode* proc_node)
-
-
- :param proc_node: None
-
-
-.. c:function:: UfoNode* ufo_task_node_get_proc_node(UfoTaskNode* self)
-
- Get the associated processing node of ``node``.
-
- :returns: A :c:type:`UfoNode`.
diff --git a/docs/manual/bugs.rst b/docs/manual/bugs.rst
index a0a5d82..7d0ef04 100644
--- a/docs/manual/bugs.rst
+++ b/docs/manual/bugs.rst
@@ -4,15 +4,9 @@
Reporting Bugs
==============
-Using the Trac bug tracker
-============================
+Bug reports regarding the UFO framework should be submitted to the `ufo-core
+issue tracker`_. Anything related to
+specific filter behaviour should be filed on the `ufo-filters issue tracker`_.
-Bug reports regarding the UFO framework itself should be submitted via the `Trac
-bug tracker`__ by choosing the ``ufo-core`` component. Anything related to
-specific filter behaviour are classified under the ``ufo-filters`` component.
-
-The Trac system also provides lists of all tickets concerning `core`_ and `filters`_.
-
-.. __: http://ufo.kit.edu/ufo/newticket
-.. _core: http://ufo.kit.edu/ufo/report/10
-.. _filters: http://ufo.kit.edu/ufo/report/11
+.. _ufo-core issue tracker: https://github.com/ufo-kit/ufo-core/issues
+.. _ufo-filters issue tracker: https://github.com/ufo-kit/ufo-filters/issues
diff --git a/docs/manual/glossary.rst b/docs/manual/glossary.rst
deleted file mode 100644
index efe77b7..0000000
--- a/docs/manual/glossary.rst
+++ /dev/null
@@ -1,14 +0,0 @@
-.. _glossary:
-
-========
-Glossary
-========
-
-.. keep alphetical sort order!
-
-.. glossary::
-
- UFO
- Ultra fast X-ray imaging of scientific processes with on-line assessment
- and data-driven process control. Now figure out where the individual
- abbreviation letters come from.
diff --git a/docs/manual/index.rst b/docs/manual/index.rst
index c332563..6575076 100644
--- a/docs/manual/index.rst
+++ b/docs/manual/index.rst
@@ -2,8 +2,8 @@
UFO Documentation
=================
-User documentation
-==================
+Users
+=====
.. toctree::
:maxdepth: 2
@@ -13,13 +13,12 @@ User documentation
json
-Developer documentation
-=======================
+Developers
+==========
.. toctree::
:maxdepth: 2
- api/index
bugs
faq
changelog
@@ -31,5 +30,4 @@ Additional notes
.. toctree::
:maxdepth: 2
- glossary
copyright
diff --git a/docs/manual/install/linux.rst b/docs/manual/install/linux.rst
index b3fa48a..c28f4c0 100644
--- a/docs/manual/install/linux.rst
+++ b/docs/manual/install/linux.rst
@@ -48,15 +48,9 @@ Retrieving the source code
In an empty directory, issue the following commands to retrieve the current
unstable version of the source::
- $ git clone http://ufo.kit.edu/git/ufo-core
- $ git clone http://ufo.kit.edu/git/ufo-filters
- $ git clone http://ufo.kit.edu/git/oclfft
-
- OR
-
- $ git clone git@ufo.kit.edu:ufo-core
- $ git clone git@ufo.kit.edu:ufo-filters
- $ git clone git@ufo.kit.edu:oclfft
+ $ git clone https://github.com/ufo-kit/ufo-core
+ $ git clone https://github.com/ufo-kit/ufo-filters
+ $ git clone https://github.com/ufo-kit/oclfft
The latter is used for developers who have write-access to the corresponding
repositories. All stable versions are tagged. To see a list of all releases
@@ -92,13 +86,13 @@ CMake will notify you, if some of the dependencies are not met. In case you want
to install the library system-wide on a 64-bit machine you should generate the
Makefiles with ::
- $ cmake <path-to-ufo> -DLIB_SUFFIX=64
+ $ cmake <path-to-ufo> -DLIBDIR=/usr/lib64
For earlier versions of PyGObject, it is necessary that the introspection files
are located under ``/usr`` not ``/usr/local``. You can force the prefix by
calling ::
- $ cmake <path-to-ufo> -DCMAKE_INSTALL_PREFIX=/usr
+ $ cmake <path-to-ufo> -DPREFIX=/usr
Last but not least build the framework, introspection files, API reference and
the documentation using ::
@@ -132,7 +126,7 @@ way ::
$ mkdir -p build/ufo-filters
$ cd build/ufo-filters
- $ cmake <path-to-ufo-filters> -DLIB_SUFFIX=64 -DCMAKE_INSTALL_PREFIX=/usr
+ $ cmake <path-to-ufo-filters> -DLIBDIR=/usr/lib64 -DPREFIX=/usr
$ make
$ make install
@@ -148,7 +142,7 @@ have to configure ufo-core like this ::
$ mkdir -p build/ufo-core
$ cd build/ufo-core
- $ cmake <path-to-ufo> -DCMAKE_INSTALL_PREFIX=/home/user/tmp/usr
+ $ cmake <path-to-ufo> -DPREFIX=/home/user/tmp/usr
$ make && make install
Now, we have to adjust the ``pkg-config`` path, so that the library can be
@@ -157,7 +151,7 @@ found when configuring the filters ::
$ export PKG_CONFIG_PATH=/home/user/tmp/usr/lib/pkgconfig
$ mkdir -p build/ufo-filters
$ cd build/ufo-filters
- $ cmake <path-to-ufo-core> -DCMAKE_INSTALL_PREFIX=/home/user/tmp/usr
+ $ cmake <path-to-ufo-core> -DPREFIX=/home/user/tmp/usr
$ make && make install
After installation you have to set the typelib and linker path so that