Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
21 changes: 12 additions & 9 deletions src/common/fuzz_algos/fuzz_state.cu
Original file line number Diff line number Diff line change
Expand Up @@ -32,12 +32,15 @@ FuzzerState::FuzzerState(const ExtGpuEvmFuzzSetup& setup, const FuzzSnapshotCase
scratch_calldata_size_buf(n_par_runs),
scratch_tx_miscs(n_par_runs),
scratch_snapshot_indices(n_par_runs),
scratch_runinputs_indices(n_par_runs),
scratch_runinputs_reverting_indices(n_par_runs),
scratch_runinputs_unique_unseen_reverting_indices(n_par_runs),
scratch_tracehash_distmap_keys(n_par_runs),
scratch_covhashes_seen_mask(n_par_runs),
scratch_snapshot_hashes_interesting_mask(n_par_runs),
scratch_snapshot_hashes(n_par_runs),
scratch_reverting_tracers(n_par_runs),
scratch_reverting_mask(n_par_runs),
scratch_reverting_tracers(n_par_runs),
scratch_reverting_exit_datas(n_par_runs),
scratch_reverting_unique_unseen_exit_datas_mask(n_par_runs),
scratch_reverting_unique_unseen_mask(n_par_runs),
Expand Down Expand Up @@ -396,14 +399,11 @@ std::pair<std::optional<GpuArrayView<bool>>, std::optional<FuzzCaseInputs>> Fuzz
}
// Indices of the original runinputs, will be filtered down to only the unique&unseen reverting inputs
auto runinputs_unique_unseen_mask_view = GpuArrayView(scratch_reverting_unique_unseen_mask);
auto runinputs_indices = GpuArray<size_t>(n_inputs);
auto runinputs_indices_view = GpuArrayView(runinputs_indices);
auto runinputs_reverting_indices = GpuArray<size_t>(n_reverting);
auto runinputs_reverting_indices_view = GpuArrayView(runinputs_reverting_indices);
auto runinputs_unique_unseen_reverting_indices = GpuArray<size_t>(n_unique_unseen_reverting);
auto runinputs_unique_unseen_reverting_indices_view = GpuArrayView(runinputs_unique_unseen_reverting_indices);

thrust::sequence(thrust::device, runinputs_indices.data, runinputs_indices.data + runinputs_indices.size, 0);
auto runinputs_indices_view = GpuArrayView<size_t>(scratch_runinputs_indices.data, n_inputs);
auto runinputs_reverting_indices_view = GpuArrayView<size_t>(scratch_runinputs_reverting_indices.data, n_reverting);
auto runinputs_unique_unseen_reverting_indices_view = GpuArrayView<size_t>(scratch_runinputs_unique_unseen_reverting_indices.data, n_unique_unseen_reverting);

thrust::sequence(thrust::device, runinputs_indices_view.data, runinputs_indices_view.data + runinputs_indices_view.size, 0);
device_array_filter_inout<size_t>(runinputs_indices_view, reverting_mask_view, runinputs_reverting_indices_view);
device_array_filter_inout<size_t>(runinputs_reverting_indices_view, unique_unseen_reverting_mask, runinputs_unique_unseen_reverting_indices_view);
device_array_indices_to_boolmask_inout(runinputs_unique_unseen_reverting_indices_view, runinputs_unique_unseen_mask_view);
Expand Down Expand Up @@ -577,6 +577,9 @@ void FuzzerState::print_mem_usage() {
std::cout << "\tScratch calldata sizes buf: " << ((scratch_calldata_size_buf.size * sizeof(uint32_t)) >> 10) << " KiB\n";
std::cout << "\tScratch tx miscs buf: " << ((scratch_tx_miscs.size * sizeof(TransactionMisc)) >> 10) << " KiB\n";
std::cout << "\tScratch snapshot indices: " << ((scratch_snapshot_indices.size * sizeof(size_t)) >> 10) << " KiB\n";
std::cout << "\tScratch runinput indices: " << ((scratch_runinputs_indices.size * sizeof(size_t)) >> 10) << " KiB\n";
std::cout << "\tScratch reverting idx buf: " << ((scratch_runinputs_reverting_indices.size * sizeof(size_t)) >> 10) << " KiB\n";
std::cout << "\tScratch unique revert idx buf: " << ((scratch_runinputs_unique_unseen_reverting_indices.size * sizeof(size_t)) >> 10) << " KiB\n";
std::cout << "\tScratch distmap keys: " << ((scratch_tracehash_distmap_keys.size * sizeof(distmap_key_t)) >> 10) << " KiB\n";
std::cout << "\tScratch covhashes mask: " << ((scratch_covhashes_seen_mask.size * sizeof(bool)) >> 10) << " KiB\n";
std::cout << "\tScratch snapshot-hashes mask: " << ((scratch_snapshot_hashes_interesting_mask.size * sizeof(bool)) >> 10) << " KiB\n";
Expand Down
3 changes: 3 additions & 0 deletions src/common/fuzz_algos/fuzz_state.cuh
Original file line number Diff line number Diff line change
Expand Up @@ -56,6 +56,9 @@ struct FuzzerState {
GpuArray<uint32_t> scratch_calldata_size_buf;
GpuArray<TransactionMisc> scratch_tx_miscs;
GpuArray<size_t> scratch_snapshot_indices;
GpuArray<size_t> scratch_runinputs_indices;
GpuArray<size_t> scratch_runinputs_reverting_indices;
GpuArray<size_t> scratch_runinputs_unique_unseen_reverting_indices;

GpuArray<distmap_key_t> scratch_tracehash_distmap_keys;

Expand Down