Remove mjMARKSTACK and mjFREESTACK macros.
PiperOrigin-RevId: 562844184 Change-Id: Id2f57f5d132c47094dad75c6dab7297d7aa73458
This commit is contained in:
committed by
Copybara-Service
parent
329ed193ac
commit
4929077211
@@ -105,13 +105,13 @@ static void BM_solveLD(benchmark::State& state, bool new_function) {
|
||||
static mjModel* m = LoadModelFromPath("composite/cloth.xml");
|
||||
mjData* d = mj_makeData(m);
|
||||
|
||||
// warm-up rollout to get a typcal state
|
||||
// warm-up rollout to get a typical state
|
||||
for (int i=0; i < kNumWarmupSteps; i++) {
|
||||
mj_step(m, d);
|
||||
}
|
||||
|
||||
// allocate gadient
|
||||
mjMARKSTACK;
|
||||
// allocate gradient
|
||||
mj_markStack(d);
|
||||
mjtNum *grad = mj_stackAllocNum(d, m->nv);
|
||||
mjtNum *Ma = mj_stackAllocNum(d, m->nv);
|
||||
mjtNum *res = mj_stackAllocNum(d, m->nv);
|
||||
@@ -145,7 +145,7 @@ static void BM_solveLD(benchmark::State& state, bool new_function) {
|
||||
}
|
||||
|
||||
// finalize
|
||||
mjFREESTACK;
|
||||
mj_freeStack(d);
|
||||
mj_deleteData(d);
|
||||
state.SetItemsProcessed(state.iterations());
|
||||
}
|
||||
|
||||
@@ -15,6 +15,9 @@
|
||||
// A benchmark for comparing different implementations of mj_solveLD.
|
||||
|
||||
#include <cstddef>
|
||||
#include <cstring>
|
||||
#include <vector>
|
||||
|
||||
#include <benchmark/benchmark.h>
|
||||
#include <gtest/gtest.h>
|
||||
#include <absl/base/attributes.h>
|
||||
@@ -47,7 +50,7 @@ void ABSL_ATTRIBUTE_NOINLINE mju_sqrMatTDSparse_baseline(
|
||||
const int* rownnz, const int* rowadr, const int* colind,
|
||||
const int* rowsuper, const int* rownnzT, const int* rowadrT,
|
||||
const int* colindT, const int* rowsuperT, mjData* d) {
|
||||
mjMARKSTACK;
|
||||
mj_markStack(d);
|
||||
int* chain = mj_stackAllocInt(d, 2 * nc);
|
||||
mjtNum* buffer = mj_stackAllocNum(d, nc);
|
||||
|
||||
@@ -149,7 +152,7 @@ void ABSL_ATTRIBUTE_NOINLINE mju_sqrMatTDSparse_baseline(
|
||||
}
|
||||
}
|
||||
|
||||
mjFREESTACK;
|
||||
mj_freeStack(d);
|
||||
}
|
||||
|
||||
// transpose sparse matrix (uncompressed)
|
||||
@@ -354,7 +357,7 @@ static void BM_MatVecSparse(benchmark::State& state, int unroll) {
|
||||
}
|
||||
|
||||
// allocate gradient
|
||||
mjMARKSTACK;
|
||||
mj_markStack(d);
|
||||
mjtNum *Ma = mj_stackAllocNum(d, m->nv);
|
||||
mjtNum *vec = mj_stackAllocNum(d, m->nv);
|
||||
mjtNum *res = mj_stackAllocNum(d, d->nefc);
|
||||
@@ -395,7 +398,7 @@ static void BM_MatVecSparse(benchmark::State& state, int unroll) {
|
||||
}
|
||||
|
||||
// finalize
|
||||
mjFREESTACK;
|
||||
mj_freeStack(d);
|
||||
mj_deleteData(d);
|
||||
state.SetItemsProcessed(state.iterations());
|
||||
}
|
||||
@@ -433,7 +436,7 @@ static void BM_combineSparse(benchmark::State& state, CombineFuncPtr func) {
|
||||
}
|
||||
|
||||
// allocate
|
||||
mjMARKSTACK;
|
||||
mj_markStack(d);
|
||||
mjtNum* H = mj_stackAllocNum(d, m->nv*m->nv);
|
||||
int* rownnz = mj_stackAllocInt(d, m->nv);
|
||||
int* rowadr = mj_stackAllocInt(d, m->nv);
|
||||
@@ -478,7 +481,7 @@ static void BM_combineSparse(benchmark::State& state, CombineFuncPtr func) {
|
||||
}
|
||||
|
||||
// finalize
|
||||
mjFREESTACK;
|
||||
mj_freeStack(d);
|
||||
mj_deleteData(d);
|
||||
state.SetItemsProcessed(state.iterations());
|
||||
}
|
||||
@@ -510,7 +513,7 @@ static void BM_transposeSparse(benchmark::State& state, TransposeFuncPtr func) {
|
||||
mj_step(m, d);
|
||||
}
|
||||
|
||||
mjMARKSTACK;
|
||||
mj_markStack(d);
|
||||
|
||||
// need uncompressed layout
|
||||
mjtNum* res = mj_stackAllocNum(d, m->nv * d->nefc);
|
||||
@@ -524,7 +527,7 @@ static void BM_transposeSparse(benchmark::State& state, TransposeFuncPtr func) {
|
||||
d->efc_J_rownnz, d->efc_J_rowadr, d->efc_J_colind);
|
||||
}
|
||||
|
||||
mjFREESTACK;
|
||||
mj_freeStack(d);
|
||||
mj_deleteData(d);
|
||||
state.SetItemsProcessed(state.iterations());
|
||||
}
|
||||
@@ -556,7 +559,7 @@ static void BM_sqrMatTDSparse(benchmark::State& state, SqrMatTDFuncPtr func) {
|
||||
}
|
||||
|
||||
// allocate
|
||||
mjMARKSTACK;
|
||||
mj_markStack(d);
|
||||
mjtNum* H = mj_stackAllocNum(d, m->nv * m->nv);
|
||||
int* rownnz = mj_stackAllocInt(d, m->nv);
|
||||
int* rowadr = mj_stackAllocInt(d, m->nv);
|
||||
@@ -598,7 +601,7 @@ static void BM_sqrMatTDSparse(benchmark::State& state, SqrMatTDFuncPtr func) {
|
||||
}
|
||||
|
||||
// finalize
|
||||
mjFREESTACK;
|
||||
mj_freeStack(d);
|
||||
mj_deleteData(d);
|
||||
state.SetItemsProcessed(state.iterations());
|
||||
}
|
||||
|
||||
@@ -14,7 +14,10 @@
|
||||
|
||||
// Tests for engine/engine_derivative.c.
|
||||
|
||||
#include <iomanip>
|
||||
#include <iostream>
|
||||
#include <random>
|
||||
#include <string>
|
||||
#include <vector>
|
||||
|
||||
#include <gmock/gmock.h>
|
||||
@@ -287,7 +290,7 @@ TEST_F(DerivativeTest, StepSkip) {
|
||||
static void LinearSystem(const mjModel* m, mjData* d, mjtNum* A, mjtNum* B) {
|
||||
int nv = m->nv, nu = m->nu;
|
||||
mjtNum dt = m->opt.timestep;
|
||||
mjMARKSTACK;
|
||||
mj_markStack(d);
|
||||
|
||||
// === state-transition matrix A
|
||||
if (A) {
|
||||
@@ -330,7 +333,7 @@ static void LinearSystem(const mjModel* m, mjData* d, mjtNum* A, mjtNum* B) {
|
||||
mju_scl(B+nu*nv, BcT, dt, nu*nv);
|
||||
}
|
||||
|
||||
mjFREESTACK;
|
||||
mj_freeStack(d);
|
||||
}
|
||||
|
||||
// compare FD derivatives to analytic derivatives of linear dynamical system
|
||||
|
||||
@@ -50,7 +50,7 @@ TEST(TestMjArrayList, TestMjArrayListSingleThreaded) {
|
||||
mjModel* m = LoadModelFromString("<mujoco/>", error.data(), error.size());
|
||||
ASSERT_THAT(m, NotNull()) << "Failed to load model: " << error.data();
|
||||
mjData* d = mj_makeData(m);
|
||||
mjMARKSTACK;
|
||||
mj_markStack(d);
|
||||
|
||||
using DataType = int;
|
||||
constexpr int kInitialCapacity = 10;
|
||||
@@ -76,7 +76,7 @@ TEST(TestMjArrayList, TestMjArrayListSingleThreaded) {
|
||||
EXPECT_EQ(mju_arrayListAt(array_list, kNumElements), nullptr);
|
||||
EXPECT_EQ(mju_arrayListAt(array_list, 100), nullptr);
|
||||
|
||||
mjFREESTACK;
|
||||
mj_freeStack(d);
|
||||
mj_deleteData(d);
|
||||
mj_deleteModel(m);
|
||||
}
|
||||
@@ -85,7 +85,7 @@ TEST(TestMjArrayList, ZeroInitialCapacity) {
|
||||
mjModel* m = LoadModelFromString("<mujoco/>", nullptr, 0);
|
||||
ASSERT_THAT(m, NotNull()) << "Failed to load model";
|
||||
mjData* d = mj_makeData(m);
|
||||
mjMARKSTACK;
|
||||
mj_markStack(d);
|
||||
mjArrayList* array_list =
|
||||
mju_arrayListCreate(d, sizeof(double), /*initial_capacity=*/0);
|
||||
EXPECT_EQ(mju_arrayListSize(array_list), 0);
|
||||
@@ -101,7 +101,7 @@ TEST(TestMjArrayList, ZeroInitialCapacity) {
|
||||
}
|
||||
EXPECT_EQ(mju_arrayListAt(array_list, 35), nullptr);
|
||||
|
||||
mjFREESTACK;
|
||||
mj_freeStack(d);
|
||||
mj_deleteData(d);
|
||||
mj_deleteModel(m);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user