Stan development repository. The master branch contains the current release. The develop branch contains the latest stable development. See the Developer Process Wiki for details.
[x] Declare copyright holder and open-source license: see below
Summary
Fixes a bug in the stan opencl assign tests that reuses a var_value<matrix_cl<double>> after stan::math::recover_memory() is called. This popped up in https://github.com/stan-dev/math/pull/2905 in the math. My guess is that this could be the cause of why sometimes these tests would fail randomly.
@t4c1 if you have any time could you take a look at this? I wasn't sure if this was intended as some part of the test or not and I'm missing something. You can replicate the error this fixes with the following
git clone --recursive git@github.com:stan-dev/stan.git
cd lib/stan_math
git checkout feature/threadsafe-matrixcl
cd ../../
python ./runTests.py ./src/test/unit/model/indexing/assign_cl_test.cpp
It's odd because after recover_memory() is called m_empty_v_cl will have a size of (4, 1). Which is the same size as the m2_cl vector we try to assign to it, but that test successfully throws so I'm not sure why that would happen.
Intended Effect
Fix bug in var_value<matrix_cl<double>> assignment
Please list the copyright holder for the work you are submitting (this will be you or your assignee, such as a university or company): Simons Foundation
By submitting this pull request, the copyright holder is agreeing to license the submitted work under the following licenses:
Submission Checklist
./runTests.py src/test/unit
make cpplint
Summary
Fixes a bug in the stan opencl assign tests that reuses a
var_value<matrix_cl<double>>
afterstan::math::recover_memory()
is called. This popped up in https://github.com/stan-dev/math/pull/2905 in the math. My guess is that this could be the cause of why sometimes these tests would fail randomly.@t4c1 if you have any time could you take a look at this? I wasn't sure if this was intended as some part of the test or not and I'm missing something. You can replicate the error this fixes with the following
It's odd because after
recover_memory()
is calledm_empty_v_cl
will have a size of (4, 1). Which is the same size as the m2_cl vector we try to assign to it, but that test successfully throws so I'm not sure why that would happen.Intended Effect
Fix bug in
var_value<matrix_cl<double>>
assignmentHow to Verify
Side Effects
Documentation
Copyright and Licensing
Please list the copyright holder for the work you are submitting (this will be you or your assignee, such as a university or company): Simons Foundation
By submitting this pull request, the copyright holder is agreeing to license the submitted work under the following licenses: