1. 21 May, 2015 1 commit
  2. 07 May, 2015 1 commit
    • Kenneth Moreland's avatar
      Fix issues with warnings about data loss from type conversion · 66aa10aa
      Kenneth Moreland authored
      Fix compile warnings that come up with the flags
      
        -Wconversion -Wno-sign-conversion
      
      This catches several instances (mostly in the testing framework) where
      types are implicitly converted. I expect these changes to fix some of
      the warnings we are seeing in MSVC.
      
      I was going to add these flags to the list of extra warning flags, but
      unfortunately the Thrust library has several warnings of these types,
      and I don't know a good way to turn on the warnings for our code but
      turn them off for Thrust.
      66aa10aa
  3. 30 Apr, 2015 2 commits
    • Kenneth Moreland's avatar
      Change storage references to storage pointers. · e14fc427
      Kenneth Moreland authored
      Previously ArrayTransfer and ArrayManagerExecution received a reference
      to a Storage class in their constructor and held the reference as an
      ivar. In retrospect, this is just asking for trouble. First, it is way
      too easy to pass by value when you mean to pass by reference. Second, if
      there ever is a bug where the Storage goes out of scope before the
      classes holding a reference, it is that much harder to debug.
      e14fc427
    • Kenneth Moreland's avatar
      Change interface of ArrayTransfer to be more like ArrayHandle. · ec0adf8b
      Kenneth Moreland authored
      This includes changing methods like LoadDataForInput to PrepareForInput.
      It also changed the interface a bit to save a reference to the storage
      object. (Maybe it would be better to save a pointer?) These changes also
      extend up to the ArrayManagerExecution class, so it can effect device
      adapter implementations.
      ec0adf8b
  4. 28 Apr, 2015 1 commit
    • Kenneth Moreland's avatar
      Remove UserPortal from ArrayHandle. · a2c28099
      Kenneth Moreland authored
      The UserPortal in ArrayHandle was used to copy a pointer the user
      created into an ArrayHandle to use in VTK-m algorithms. However, this is
      only really valid for a basic storage, so the functionality has been
      moved there, and you have to construct an ArrayHandle with a storage
      instead of an array portal.
      a2c28099
  5. 10 Feb, 2015 2 commits
    • Kenneth Moreland's avatar
      Expose allocation in ArrayHandle. · 6141e83b
      Kenneth Moreland authored
      Add an Allocate method in ArrayHandle that basically forwards the
      alllocate request to the storage object. This allows some measure of
      control of the array from the control side. You can allocate the array
      and set values (by getting the control array portal) if you so desire.
      6141e83b
    • Kenneth Moreland's avatar
      Preserve data in ArrayHandle::ReleaseResourcesExecution · 2f781dfe
      Kenneth Moreland authored
      Previously when ReleaseResourcesExecution was called, the method blindly
      deleted the execution array regardless of whether there was a valid copy
      in the control environment. This could potentially lose data. What if
      someone wanted to conserve memory on the device by clearing the array of
      an output array?
      
      There is also now an internal method that blindly deletes the array.
      This is good for internal functions that are doing something to
      invalidate the execution data anyway.
      2f781dfe
  6. 09 Feb, 2015 1 commit
    • Kenneth Moreland's avatar
      Make ArrayHandle work better when uninitialized · c224c2b9
      Kenneth Moreland authored
      Fixed a problem where ArrayHandle would cause a crash if you tried to
      get the control portal on an uninitialized array (it was supposed to
      throw an exception).
      
      Also changed some methods in ArrayHandle so that they work resonably
      without error when used with an uninitialized array. Specifically, the
      aforementioned behavior was changed to "allocate" an array of size 0
      (that is, call Allocate(0) on the storage object) to return an empty
      array portal rather than throw an error. Although this use of
      ArrayHandle can be considered erroneous, it is convenient the get an
      empty array portal when dealing with a potentially unallocated array
      rather than create a special condition.
      c224c2b9
  7. 14 Oct, 2014 1 commit
    • Kenneth Moreland's avatar
      Add Transport class · 30558cf7
      Kenneth Moreland authored
      The Transport class is responsible for moving data from the control
      environment to the execution environment. (Actually, it might be more
      accurate to say it gets the execution environment associated with a
      given control object.) The Transport class is templated with a tag that
      controls the mechanism used for the transport.
      30558cf7
  8. 24 Jun, 2014 1 commit
    • Kenneth Moreland's avatar
      Change ArrayContainerControl to Storage. · 21823500
      Kenneth Moreland authored
      After a talk with Robert Maynard, we decided to change the name
      ArrayContainerControl to Storage. There are several reasons for this
      change.
      
      1. The name ArrayContainerControl is unwieldy. It is long, hard for
      humans to parse, and makes for long lines and wraparound. It is also
      hard to distinguish from other names like ArrayHandleFoo and
      ArrayExecutionManager.
      
      2. The word container is getting overloaded. For example, there is a
      SimplePolymorphicContainer. Container is being used for an object that
      literally acts like a container for data. This class really manages
      data.
      
      3. The data does not necessarily have to be on the control side.
      Implicit containers store the data nowhere. Derivative containers might
      have all the real data on the execution side. It is possible in the
      future to have storage on the execution environment instead of the
      control (think interfacing with a simulator on the GPU).
      
      Storage is not a perfect word (what does implicit storage really mean?),
      but its the best English word we came up with.
      21823500
  9. 11 Jun, 2014 1 commit
  10. 19 May, 2014 1 commit
  11. 03 Apr, 2014 1 commit
  12. 07 Mar, 2014 1 commit
  13. 11 Feb, 2014 1 commit
  14. 10 Feb, 2014 1 commit