Task Mapping and Scheduling for OpenVX Applications on Heterogeneous Multi/Many-core Architectures