We don't actually need to wait for data transfers when calibrating tasks. This was a remainder of a previous global cudaThreadSynchronize which was done before we required codelets to synchronize themselves

git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/starpu/trunk@7550 176f6dd6-97d6-42f4-bd05-d3db9ad07c7a
add c++ guards, thanks Benoît Lizé for the report

git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/starpu/trunk@7552 176f6dd6-97d6-42f4-bd05-d3db9ad07c7a
fix forcing calibration of never-calibrated archs. HASH_FIND_UINT32_T will return NULL when the head is NULL anyway, so there is no need to check for that case, and instead use the factorized behavior

git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/starpu/trunk@7555 176f6dd6-97d6-42f4-bd05-d3db9ad07c7a
SOCL: fix performance model allocation

While codelets have to be allocated each time a kernel is enqueued (parameter access modes are specific to buffers used as parameters and not specific to the kernel... yes it is stupid...) we only need to allocate a single performance model for each kernel.

git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/starpu/trunk@7557 176f6dd6-97d6-42f4-bd05-d3db9ad07c7a
SOCL: remove unnecessary mallocs

git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/starpu/trunk@7558 176f6dd6-97d6-42f4-bd05-d3db9ad07c7a
Fix a bad interaction between tag deps and task deps: task dep wake-up should not retest tags since we clear them automatically. Add a thorough dependency testsuite which catches that. This also changes the locking convention for _starpu_enforce_deps_starting_from_task

git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/starpu/trunk@7559 176f6dd6-97d6-42f4-bd05-d3db9ad07c7a
Add debugging information in starpufft/*.

git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/starpu/trunk@7571 176f6dd6-97d6-42f4-bd05-d3db9ad07c7a
Move STARPU_CUFFT_REPORT_ERROR from starpufftx.c to starpufft.h, so that it can be used in other files.

git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/starpu/trunk@7572 176f6dd6-97d6-42f4-bd05-d3db9ad07c7a
starpufft: fix error checking


git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/starpu/trunk@7573 176f6dd6-97d6-42f4-bd05-d3db9ad07c7a
Clean up topology code.

* src/core/topology.c: remove private function declarations. Reorganize
* accordingly order of function definitions.

Patch by Ludovic Stordeur (Ludovic.Stordeur@inria.fr)

git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/starpu/trunk@7574 176f6dd6-97d6-42f4-bd05-d3db9ad07c7a
Cleanup again topology.c

* src/core/topology.c: reorder tied functions together.

Patch by Ludovic Stordeur (Ludovic.Stordeur@inria.fr)

git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/starpu/trunk@7575 176f6dd6-97d6-42f4-bd05-d3db9ad07c7a
More topology code cleanup.

* src/core/topology.c: wrap most of too (much) long lines to 80
* characters.

Patch by Ludovic Stordeur (Ludovic.Stordeur@inria.fr)

git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/starpu/trunk@7576 176f6dd6-97d6-42f4-bd05-d3db9ad07c7a
Move the prototype of STARPUFFT(report_error) so that the compilation works no matter what options are passed to configure.

git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/starpu/trunk@7577 176f6dd6-97d6-42f4-bd05-d3db9ad07c7a
execute_job_on_cuda(): remove a useless variable.

git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/starpu/trunk@7578 176f6dd6-97d6-42f4-bd05-d3db9ad07c7a
Cleanup _starpu_init_topology().

* src/core/topology.c (_starpu_init_topology): remove one indentation level.

Patch by Ludovic Stordeur (Ludovic.Stordeur@inria.fr)

git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/starpu/trunk@7579 176f6dd6-97d6-42f4-bd05-d3db9ad07c7a
Document _starpu_init_topology().

Patch by Ludovic Stordeur (Ludovic.Stordeur@inria.fr).

git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/starpu/trunk@7580 176f6dd6-97d6-42f4-bd05-d3db9ad07c7a
gcc: run-test: Support conditional directives.

* gcc-plugin/tests/run-test.in (diagnostic-matches-directive?): New
  `cflags' and `ldflags' parameters; adjust caller accordingly.  Support
  the `if optimizing?' and `unless optimizing?' directive conditionals.

git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/starpu/trunk@7583 176f6dd6-97d6-42f4-bd05-d3db9ad07c7a
gcc: Add a preliminary buffer registration analysis pass.

* gcc-plugin/src/starpu.c (registration_in_bb_p, dominated_by_registration,
  ssa_name_aliases_global_or_parm_p, validate_task_invocations,
  warn_starpu_unregistered): New functions.
  (pass_lower_starpu): Change `name' field to "lower_starpu".
  (pass_warn_starpu_unregistered): New variable.
  (plugin_init): Register it.

* gcc-plugin/tests/warn-unregistered.c: New file.
* gcc-plugin/tests/Makefile.am (gcc_tests): Add it.

* gcc-plugin/tests/pointers.c (main): Make `x' static to avoid erroneous
  warning.

git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/starpu/trunk@7584 176f6dd6-97d6-42f4-bd05-d3db9ad07c7a
gcc: Use the `heap_allocated' attribute in examples.

* gcc-plugin/examples/matrix-mult.c (__heap): New macro.
  (main): Use it to allocate A, B, and C.

* gcc-plugin/examples/cholesky/cholesky.c (dw_cholesky): Turn `matA'
  into a 3-dimension matrix.  Adjust `register' pragma accordingly.
  (main): Turn `bmat' into a 3-dimension array, and remove calls to
  `starpu_malloc' and `starpu_free'.

git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/starpu/trunk@7585 176f6dd6-97d6-42f4-bd05-d3db9ad07c7a
gcc: Split the source into several files.

* gcc-plugin/src/utils.c, gcc-plugin/src/utils.h,
  gcc-plugin/src/warn-unregistered.c,
  gcc-plugin/src/warn-unregistered.h: New files.

* gcc-plugin/src/Makefile.am (starpu_la_SOURCES): Add `utils.c' and
  `warn-unregistered.c'.
  (noinst_HEADERS): New variable.
  (AM_CPPFLAGS): Add `-I$(srcdir)'.

git-svn-id: svn+ssh://scm.gforge.inria.fr/svn/starpu/trunk@7586 176f6dd6-97d6-42f4-bd05-d3db9ad07c7a