Commit Graph

6428 Commits

Author SHA1 Message Date
Aditya Atluri f01810183b Not using classes inside headers 2016-03-29 02:27:51 -05:00
Ben Sander 8635863724 Tweak thread-safe implementation.
introduce LockedAccessor option so destructor does not unlock.
Allows locks to exist across function boundaries, required
for hipLaunchKernel macro which has several unusual requirements.
(including C comppatibility, must use variadic macro, more).
2016-03-28 21:41:47 -05:00
Siu Chi Chan cc0bfcb2b2 Merge pull request #19 from AMDComputeLibraries/fix_static_lib_link
Various fixes in HIP exposed by linking to static library
2016-03-28 22:40:04 -04:00
scchan 2ddb8fface remove the --hipcc_explicit_lib 2016-03-28 13:56:23 -05:00
scchan 00ae9531a7 turn off ONE_OBJECT_FILE since we are building a static library 2016-03-28 12:56:15 -05:00
Maneesh Gupta 40cc748678 Fixed cmake not honoring user specified HIP_INSTALL_DIR 2016-03-28 22:23:27 +05:30
Maneesh Gupta 1806979e72 Improve cmake settings 2016-03-28 21:55:03 +05:30
Ben Sander 3f18bab2c7 Stream thread-safe checkpoint.
Moving data structures to critical / protected section.
2016-03-28 09:46:40 -05:00
scchan 0087ee405e add inline keyword to all the template functions 2016-03-28 09:18:38 -05:00
Ben Sander 3aed9d3b19 fix ihipLogStatus so status arg only evaluated once 2016-03-28 05:23:53 -05:00
Ben Sander ec049e7f0b Stream thread-safe checkpoint. 2016-03-28 04:22:20 -05:00
Ben Sander 7934cf620d Improve debug print messages.
- Remove "call-to-call" for hipStreamCreate and hipEventCreate.
  These now call an internal functions rather than calling through
  hipStreamCreateWithFalgs and hipEventCreateWithFlags.

- Add HIP_INIT_API for more functions so they trace correctly.

- Use stream#DEVICE.STREAMID in debug messages via new specialization in
  tace_helper.
2016-03-26 12:35:04 -05:00
Ben Sander 395e7eab96 Protect _stream_id as well.
- move lockedaccessor
- clean up device class.
- add simple ihipDevice constructor.
2016-03-26 11:45:25 -05:00
Ben Sander 530ab9434a Make ihipDevice_t thread-safe.
Move critical data into separate class and protect with LockAccessor
wrapper class.

For device, the streams list is the critical data since it is modified when
streams are created or destroyed.   The streams list is accessed in
several places including when synchronizing across all streams on the
device (ie from the default stream).
Other device data is set once by the device cosntructor and is not critical
so

All functions which acquire the LockAccessor now named with "locked_" prefix.
2016-03-26 10:46:20 -05:00
dfukalov 28d29cac82 removed FileCheck dependency & significantly improved test coverage 2016-03-26 16:01:49 +03:00
Ben Sander 581b884274 Merge branch 'privatestaging' of https://github.com/AMDComputeLibraries/HIP-privatestaging into privatestaging 2016-03-25 17:12:13 -05:00
Ben Sander 3a7cbe6fca describe HIP_PLATFORM 2016-03-25 17:11:49 -05:00
Ben Sander 373251aca0 Improve automated platform detection.
If AMD GPU is installed and detected by driver, default
HIP_PLATFORM to hcc.
2016-03-25 17:08:34 -05:00
Aditya Atluri b24310b728 Merge branch 'privatestaging' of https://github.com/AMDComputeLibraries/HIP-privatestaging into privatestaging 2016-03-25 13:45:46 -05:00
Aditya Atluri a5628ddfb4 Added test for C + HIP 2016-03-25 13:45:28 -05:00
dfukalov 7b5a3413cb implemented -print-stats option, minor cleanup & optimizations 2016-03-25 18:28:37 +03:00
pensun 535de2ecc1 fix query of memoryClockRate and memoryBusWidth for both NV and HCC path 2016-03-25 09:24:08 -05:00
Aditya Atluri b371dd58ea updated hipdevicesync test 2016-03-25 06:41:49 -05:00
Aditya Atluri 7a0066eb6f added functional tests for hip device apis 2016-03-25 05:49:33 -05:00
Maneesh Gupta a094cdba64 Fix release notes and minimum required hcc workweek check 2016-03-25 16:08:00 +05:30
Maneesh Gupta 6b5c9ecf3f Update release notes 2016-03-25 16:07:06 +05:30
Ben Sander 814c3d30fc report linux distro if possible 2016-03-24 22:12:41 -05:00
Ben Sander 52f02a02fb Merge branch 'privatestaging' of https://github.com/AMDComputeLibraries/HIP-privatestaging into privatestaging 2016-03-24 21:58:20 -05:00
Aditya Atluri bf3828cdb9 updated CR 2016-03-24 21:48:27 -05:00
Ben Sander 144d1069aa add note on using HIP_PLATFORM to force hcc path 2016-03-24 14:33:11 -05:00
Ben Sander 160f407300 Update release to include new make system. Remove old Makefile. 2016-03-24 14:08:08 -05:00
Ben Sander 0845164012 Merge branch 'privatestaging' of https://github.com/AMDComputeLibraries/HIP-privatestaging into privatestaging 2016-03-24 14:05:58 -05:00
Ben Sander f3ad047194 Provcide more flexiblity in using HIP_PATH to control installation.
Also improve docs for developers / contributing.
2016-03-24 13:33:07 -05:00
Ben Sander 5e3428acc1 revert CMakelists 2016-03-24 13:20:25 -05:00
Ben Sander c567189cb8 Merge branch 'privatestaging' of https://github.com/AMDComputeLibraries/HIP-privatestaging into privatestaging 2016-03-24 13:10:33 -05:00
Ben Sander eb33395045 Add --hipcc_explicit_lib option
Tells hipcc not to add /opt/hip or -lhip_hcc to command-line
(since it has already been done).
2016-03-24 11:53:33 -05:00
dfukalov d94c7a3347 1. added stubs for options -no-output, -print-stats
2. preparations for stats collection
2016-03-24 19:31:42 +03:00
Aditya Atluri ae46b221df corrected cmake 2016-03-24 11:17:57 -05:00
Ben Sander a24361df6f Set /opt/hcc correctly if HCC_HOME not defined 2016-03-24 10:50:08 -05:00
Ben Sander c4e1aba862 CMake improvements.
- Directed tests build hip_hcc as subdir.
- Support HCC_HOME env var to control which HCC to use for build
  hip_hcc.
2016-03-24 10:16:35 -05:00
Ben Sander 655534b1ba Partition hip_hcc into sections
Separate files for different categories of HIP API.
Currently just #include into hip_hcc.cpp
2016-03-24 09:28:54 -05:00
Aditya Atluri 90dec927d3 Merge branch 'privatestaging' of https://github.com/AMDComputeLibraries/HIP-privatestaging into privatestaging 2016-03-24 07:34:10 -05:00
Aditya Atluri 95c96638aa Added canMapMemory feature to device properties 2016-03-24 07:33:24 -05:00
Aditya Atluri c5ec73736d added CR and hipsetdeviceflags func 2016-03-24 07:04:01 -05:00
dfukalov 1921bf1400 source reformatted to LLVM style, minor cleanups 2016-03-24 14:54:14 +03:00
Aditya Atluri 794007c3e8 Split files based on functionality and changed cmake file 2016-03-24 04:57:30 -05:00
Maneesh Gupta 04d0bdfeaa Allow HIP installation to be portable 2016-03-24 11:19:16 +05:30
Aditya Atluri 5491654450 Merge branch 'privatestaging' of https://github.com/AMDComputeLibraries/HIP-privatestaging into privatestaging 2016-03-23 13:01:03 -05:00
Aditya Atluri 7920fd9a47 moved variables to headers 2016-03-23 12:59:52 -05:00
Aditya Atluri 3bece3798b Update README.md 2016-03-23 18:16:11 -05:00