diff --git a/src/common/fuzz_algos/fuzz_state.cu b/src/common/fuzz_algos/fuzz_state.cu index c6abde95..40ed0725 100644 --- a/src/common/fuzz_algos/fuzz_state.cu +++ b/src/common/fuzz_algos/fuzz_state.cu @@ -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), @@ -396,14 +399,11 @@ std::pair>, std::optional> 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(n_inputs); - auto runinputs_indices_view = GpuArrayView(runinputs_indices); - auto runinputs_reverting_indices = GpuArray(n_reverting); - auto runinputs_reverting_indices_view = GpuArrayView(runinputs_reverting_indices); - auto runinputs_unique_unseen_reverting_indices = GpuArray(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(scratch_runinputs_indices.data, n_inputs); + auto runinputs_reverting_indices_view = GpuArrayView(scratch_runinputs_reverting_indices.data, n_reverting); + auto runinputs_unique_unseen_reverting_indices_view = GpuArrayView(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(runinputs_indices_view, reverting_mask_view, runinputs_reverting_indices_view); device_array_filter_inout(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); @@ -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"; diff --git a/src/common/fuzz_algos/fuzz_state.cuh b/src/common/fuzz_algos/fuzz_state.cuh index 374e05c8..c531cd1e 100644 --- a/src/common/fuzz_algos/fuzz_state.cuh +++ b/src/common/fuzz_algos/fuzz_state.cuh @@ -56,6 +56,9 @@ struct FuzzerState { GpuArray scratch_calldata_size_buf; GpuArray scratch_tx_miscs; GpuArray scratch_snapshot_indices; + GpuArray scratch_runinputs_indices; + GpuArray scratch_runinputs_reverting_indices; + GpuArray scratch_runinputs_unique_unseen_reverting_indices; GpuArray scratch_tracehash_distmap_keys;