Skip to content
Merged
Show file tree
Hide file tree
Changes from 23 commits
Commits
Show all changes
39 commits
Select commit Hold shift + click to select a range
3fd5eb7
feat(rocrand): port over utils from rocprim for kernel tuner
NguyenNhuDi Oct 1, 2026
6a8e112
feat(rocrand): ported over generate.py and updated it for rocrand
NguyenNhuDi Oct 1, 2026
e32717e
feat(rocrand): ported over parse.py and updated it for rocrand
NguyenNhuDi Oct 1, 2026
7d641de
feat(rocrand): wrote the base template for rocrand config gen
NguyenNhuDi Oct 1, 2026
01d5ded
feat(rocrand): implement the base tuner for kernel tuning
NguyenNhuDi Oct 1, 2026
3216118
feat(rocrand): implement kernel tuner for lfsr113
NguyenNhuDi Oct 1, 2026
ce25602
feat(rocrand): implement kernel tuner for mrg31k3p
NguyenNhuDi Oct 1, 2026
899b77e
feat(rocrand): implement kernel tuner for mrg32k3a
NguyenNhuDi Oct 1, 2026
5d3b74a
feat(rocrand): implement kernel tuner for mt19937
NguyenNhuDi Oct 1, 2026
ffc23e7
feat(rocrand): implement kernel tuner for mtgp32
NguyenNhuDi Oct 1, 2026
f021045
feat(rocrand): implement kernel tuner for philox4_32_10
NguyenNhuDi Oct 1, 2026
9f97d49
feat(rocrand): implement kernel tuner for threefry2_32_20
NguyenNhuDi Oct 1, 2026
33a32a8
feat(rocrand): implement kernel tuner for threefry2_64_20
NguyenNhuDi Oct 1, 2026
8482551
feat(rocrand): implement kernel tuner for threefry4_32_20
NguyenNhuDi Oct 1, 2026
3b27607
feat(rocrand): implement kernel tuner for threefry4_64_20
NguyenNhuDi Oct 1, 2026
eacfce5
feat(rocrand): implement kernel tuner for xorwow
NguyenNhuDi Oct 1, 2026
baa1c50
feat(rocrand): wrote README and added gitignore
NguyenNhuDi Oct 1, 2026
668e492
fix(rocrand): pre-checkin changes
NguyenNhuDi Oct 1, 2026
a12eab5
fix(rocrand): more pre-checkin changes
NguyenNhuDi Oct 1, 2026
9d7bf59
fix(rocrand): even more pre-checkin changes
NguyenNhuDi Oct 1, 2026
e5fffa6
feat(rocrand): updated grid and block size defaults
NguyenNhuDi Oct 1, 2026
9923111
fix(rocrand): allow threefryx_64_20 to tune ull
NguyenNhuDi Oct 1, 2026
155f76f
fix(rocrand): prevent arch result being overwritten
NguyenNhuDi Oct 1, 2026
f086ec9
fix(rocrand): fix help text typo
NguyenNhuDi Oct 2, 2026
c4b0435
fix(rocrand): made error message 1 instead of 1
NguyenNhuDi Oct 2, 2026
ed54be5
fix(rocrand): removed dead cli flag
NguyenNhuDi Oct 2, 2026
4e8181e
Merge branch 'develop' into users/NguyenNhuDi/rocrand-begin-kernel-tu…
NguyenNhuDi Oct 5, 2026
25964fa
fix(rocrand): ran pre-checkin script
NguyenNhuDi Oct 5, 2026
2a288d5
fix(rocrand): moved default output_type_supported def outside of code…
NguyenNhuDi Oct 5, 2026
4d84e5d
fix(rocrand): pass self.seed to kernel tuner
NguyenNhuDi Oct 7, 2026
a1874cd
fix(rocrand) use built in functions to get c.u instead of regex
NguyenNhuDi Oct 7, 2026
bfba25b
fix(rocrand): Made running compare simulated strategies anywhere poss…
NguyenNhuDi Oct 7, 2026
8202c38
fix(rocrand): Make sure existing archs are not overwritten
NguyenNhuDi Oct 7, 2026
d347f8d
fix(rocrand): use geometric mean instead of arithmetic mean
NguyenNhuDi Oct 7, 2026
4cca9e0
fix(rocrand): ensure lfsr113 only get pow2 grid size
NguyenNhuDi Oct 7, 2026
bad2c24
fix(rocrand): fix lfsr min thread check
NguyenNhuDi Oct 8, 2026
8bda42a
fix(rocrand): resolve output path inconsistency
NguyenNhuDi Oct 8, 2026
3e91afc
fix(rocrand): prevent old timing ussage when --size is used
NguyenNhuDi Oct 8, 2026
417e46a
fix(rocrand): fix grid size cache while in simulation mode
NguyenNhuDi Oct 8, 2026
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
10 changes: 3 additions & 7 deletions projects/rocrand/library/src/rng/config/lfsr113_config.hpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.
// Copyright (c) 2026 Advanced Micro Devices, Inc. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
Expand All @@ -20,17 +20,13 @@

#ifndef ROCRAND_RNG_CONFIG_LFSR113_CONFIG_HPP_
#define ROCRAND_RNG_CONFIG_LFSR113_CONFIG_HPP_

#include "config_defaults.hpp"
#include <rocrand/rocrand.h>

/* DO NOT EDIT THIS FILE
* This file is automatically generated by `/scripts/config-tuning/select_best_config.py`.
* This file is automatically generated by `/tuning/confgen/generate.py`.
*/

namespace rocrand_impl::host
{

template<class T>
struct generator_config_selector<ROCRAND_RNG_PSEUDO_LFSR113, T>
{
Expand Down Expand Up @@ -77,4 +73,4 @@ struct generator_config_selector<ROCRAND_RNG_PSEUDO_LFSR113, T>

} // end namespace rocrand_impl::host

#endif // ROCRAND_RNG_CONFIG_LFSR113_HPP_
#endif // ROCRAND_RNG_CONFIG_LFSR113_CONFIG_HPP_
10 changes: 3 additions & 7 deletions projects/rocrand/library/src/rng/config/mrg31k3p_config.hpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.
// Copyright (c) 2026 Advanced Micro Devices, Inc. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
Expand All @@ -20,17 +20,13 @@

#ifndef ROCRAND_RNG_CONFIG_MRG31K3P_CONFIG_HPP_
#define ROCRAND_RNG_CONFIG_MRG31K3P_CONFIG_HPP_

#include "config_defaults.hpp"
#include <rocrand/rocrand.h>

/* DO NOT EDIT THIS FILE
* This file is automatically generated by `/scripts/config-tuning/select_best_config.py`.
* This file is automatically generated by `/tuning/confgen/generate.py`.
*/

namespace rocrand_impl::host
{

template<class T>
struct generator_config_selector<ROCRAND_RNG_PSEUDO_MRG31K3P, T>
{
Expand Down Expand Up @@ -77,4 +73,4 @@ struct generator_config_selector<ROCRAND_RNG_PSEUDO_MRG31K3P, T>

} // end namespace rocrand_impl::host

#endif // ROCRAND_RNG_CONFIG_MRG31K3P_HPP_
#endif // ROCRAND_RNG_CONFIG_MRG31K3P_CONFIG_HPP_
10 changes: 3 additions & 7 deletions projects/rocrand/library/src/rng/config/mrg32k3a_config.hpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.
// Copyright (c) 2026 Advanced Micro Devices, Inc. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
Expand All @@ -20,17 +20,13 @@

#ifndef ROCRAND_RNG_CONFIG_MRG32K3A_CONFIG_HPP_
#define ROCRAND_RNG_CONFIG_MRG32K3A_CONFIG_HPP_

#include "config_defaults.hpp"
#include <rocrand/rocrand.h>

/* DO NOT EDIT THIS FILE
* This file is automatically generated by `/scripts/config-tuning/select_best_config.py`.
* This file is automatically generated by `/tuning/confgen/generate.py`.
*/

namespace rocrand_impl::host
{

template<class T>
struct generator_config_selector<ROCRAND_RNG_PSEUDO_MRG32K3A, T>
{
Expand Down Expand Up @@ -77,4 +73,4 @@ struct generator_config_selector<ROCRAND_RNG_PSEUDO_MRG32K3A, T>

} // end namespace rocrand_impl::host

#endif // ROCRAND_RNG_CONFIG_MRG32K3A_HPP_
#endif // ROCRAND_RNG_CONFIG_MRG32K3A_CONFIG_HPP_
12 changes: 4 additions & 8 deletions projects/rocrand/library/src/rng/config/mt19937_config.hpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.
// Copyright (c) 2026 Advanced Micro Devices, Inc. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
Expand All @@ -20,17 +20,13 @@

#ifndef ROCRAND_RNG_CONFIG_MT19937_CONFIG_HPP_
#define ROCRAND_RNG_CONFIG_MT19937_CONFIG_HPP_

#include "config_defaults.hpp"
#include <rocrand/rocrand.h>

/* DO NOT EDIT THIS FILE
* This file is automatically generated by `/scripts/config-tuning/select_best_config.py`.
* This file is automatically generated by `/tuning/confgen/generate.py`.
*/

namespace rocrand_impl::host
{

template<class T>
struct generator_config_selector<ROCRAND_RNG_PSEUDO_MT19937, T>
{
Expand Down Expand Up @@ -71,6 +67,6 @@ struct generator_config_selector<ROCRAND_RNG_PSEUDO_MT19937, T>
}
};

} // namespace rocrand_impl::host
} // end namespace rocrand_impl::host

#endif // ROCRAND_RNG_CONFIG_MT19937_HPP_
#endif // ROCRAND_RNG_CONFIG_MT19937_CONFIG_HPP_
10 changes: 3 additions & 7 deletions projects/rocrand/library/src/rng/config/mtgp32_config.hpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.
// Copyright (c) 2026 Advanced Micro Devices, Inc. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
Expand All @@ -20,17 +20,13 @@

#ifndef ROCRAND_RNG_CONFIG_MTGP32_CONFIG_HPP_
#define ROCRAND_RNG_CONFIG_MTGP32_CONFIG_HPP_

#include "config_defaults.hpp"
#include <rocrand/rocrand.h>

/* DO NOT EDIT THIS FILE
* This file is automatically generated by `/scripts/config-tuning/select_best_config.py`.
* This file is automatically generated by `/tuning/confgen/generate.py`.
*/

namespace rocrand_impl::host
{

template<class T>
struct generator_config_selector<ROCRAND_RNG_PSEUDO_MTGP32, T>
{
Expand Down Expand Up @@ -77,4 +73,4 @@ struct generator_config_selector<ROCRAND_RNG_PSEUDO_MTGP32, T>

} // end namespace rocrand_impl::host

#endif // ROCRAND_RNG_CONFIG_MTGP32_HPP_
#endif // ROCRAND_RNG_CONFIG_MTGP32_CONFIG_HPP_
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.
// Copyright (c) 2026 Advanced Micro Devices, Inc. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
Expand All @@ -20,17 +20,13 @@

#ifndef ROCRAND_RNG_CONFIG_PHILOX4_32_10_CONFIG_HPP_
#define ROCRAND_RNG_CONFIG_PHILOX4_32_10_CONFIG_HPP_

#include "config_defaults.hpp"
#include <rocrand/rocrand.h>

/* DO NOT EDIT THIS FILE
* This file is automatically generated by `/scripts/config-tuning/select_best_config.py`.
* This file is automatically generated by `/tuning/confgen/generate.py`.
*/

namespace rocrand_impl::host
{

template<class T>
struct generator_config_selector<ROCRAND_RNG_PSEUDO_PHILOX4_32_10, T>
{
Expand Down Expand Up @@ -77,4 +73,4 @@ struct generator_config_selector<ROCRAND_RNG_PSEUDO_PHILOX4_32_10, T>

} // end namespace rocrand_impl::host

#endif // ROCRAND_RNG_CONFIG_PHILOX4_32_10_HPP_
#endif // ROCRAND_RNG_CONFIG_PHILOX4_32_10_CONFIG_HPP_
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.
// Copyright (c) 2026 Advanced Micro Devices, Inc. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
Expand All @@ -20,17 +20,13 @@

#ifndef ROCRAND_RNG_CONFIG_THREEFRY2_32_20_CONFIG_HPP_
#define ROCRAND_RNG_CONFIG_THREEFRY2_32_20_CONFIG_HPP_

#include "config_defaults.hpp"
#include <rocrand/rocrand.h>

/* DO NOT EDIT THIS FILE
* This file is automatically generated by `/scripts/config-tuning/select_best_config.py`.
* This file is automatically generated by `/tuning/confgen/generate.py`.
*/

namespace rocrand_impl::host
{

template<class T>
struct generator_config_selector<ROCRAND_RNG_PSEUDO_THREEFRY2_32_20, T>
{
Expand Down Expand Up @@ -79,4 +75,4 @@ struct generator_config_selector<ROCRAND_RNG_PSEUDO_THREEFRY2_32_20, T>

} // end namespace rocrand_impl::host

#endif // ROCRAND_RNG_CONFIG_THREEFRY2_32_20_HPP_
#endif // ROCRAND_RNG_CONFIG_THREEFRY2_32_20_CONFIG_HPP_
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.
// Copyright (c) 2026 Advanced Micro Devices, Inc. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
Expand All @@ -20,17 +20,13 @@

#ifndef ROCRAND_RNG_CONFIG_THREEFRY2_64_20_CONFIG_HPP_
#define ROCRAND_RNG_CONFIG_THREEFRY2_64_20_CONFIG_HPP_

#include "config_defaults.hpp"
#include <rocrand/rocrand.h>

/* DO NOT EDIT THIS FILE
* This file is automatically generated by `/scripts/config-tuning/select_best_config.py`.
* This file is automatically generated by `/tuning/confgen/generate.py`.
*/

namespace rocrand_impl::host
{

template<class T>
struct generator_config_selector<ROCRAND_RNG_PSEUDO_THREEFRY2_64_20, T>
{
Expand Down Expand Up @@ -79,4 +75,4 @@ struct generator_config_selector<ROCRAND_RNG_PSEUDO_THREEFRY2_64_20, T>

} // end namespace rocrand_impl::host

#endif // ROCRAND_RNG_CONFIG_THREEFRY2_64_20_HPP_
#endif // ROCRAND_RNG_CONFIG_THREEFRY2_64_20_CONFIG_HPP_
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.
// Copyright (c) 2026 Advanced Micro Devices, Inc. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
Expand All @@ -20,17 +20,13 @@

#ifndef ROCRAND_RNG_CONFIG_THREEFRY4_32_20_CONFIG_HPP_
#define ROCRAND_RNG_CONFIG_THREEFRY4_32_20_CONFIG_HPP_

#include "config_defaults.hpp"
#include <rocrand/rocrand.h>

/* DO NOT EDIT THIS FILE
* This file is automatically generated by `/scripts/config-tuning/select_best_config.py`.
* This file is automatically generated by `/tuning/confgen/generate.py`.
*/

namespace rocrand_impl::host
{

template<class T>
struct generator_config_selector<ROCRAND_RNG_PSEUDO_THREEFRY4_32_20, T>
{
Expand Down Expand Up @@ -79,4 +75,4 @@ struct generator_config_selector<ROCRAND_RNG_PSEUDO_THREEFRY4_32_20, T>

} // end namespace rocrand_impl::host

#endif // ROCRAND_RNG_CONFIG_THREEFRY4_32_20_HPP_
#endif // ROCRAND_RNG_CONFIG_THREEFRY4_32_20_CONFIG_HPP_
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.
// Copyright (c) 2026 Advanced Micro Devices, Inc. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
Expand All @@ -20,17 +20,13 @@

#ifndef ROCRAND_RNG_CONFIG_THREEFRY4_64_20_CONFIG_HPP_
#define ROCRAND_RNG_CONFIG_THREEFRY4_64_20_CONFIG_HPP_

#include "config_defaults.hpp"
#include <rocrand/rocrand.h>

/* DO NOT EDIT THIS FILE
* This file is automatically generated by `/scripts/config-tuning/select_best_config.py`.
* This file is automatically generated by `/tuning/confgen/generate.py`.
*/

namespace rocrand_impl::host
{

template<class T>
struct generator_config_selector<ROCRAND_RNG_PSEUDO_THREEFRY4_64_20, T>
{
Expand Down Expand Up @@ -79,4 +75,4 @@ struct generator_config_selector<ROCRAND_RNG_PSEUDO_THREEFRY4_64_20, T>

} // end namespace rocrand_impl::host

#endif // ROCRAND_RNG_CONFIG_THREEFRY4_64_20_HPP_
#endif // ROCRAND_RNG_CONFIG_THREEFRY4_64_20_CONFIG_HPP_
10 changes: 3 additions & 7 deletions projects/rocrand/library/src/rng/config/xorwow_config.hpp
Original file line number Diff line number Diff line change
@@ -1,4 +1,4 @@
// Copyright (c) 2025 Advanced Micro Devices, Inc. All rights reserved.
// Copyright (c) 2026 Advanced Micro Devices, Inc. All rights reserved.
//
// Permission is hereby granted, free of charge, to any person obtaining a copy
// of this software and associated documentation files (the "Software"), to deal
Expand All @@ -20,17 +20,13 @@

#ifndef ROCRAND_RNG_CONFIG_XORWOW_CONFIG_HPP_
#define ROCRAND_RNG_CONFIG_XORWOW_CONFIG_HPP_

#include "config_defaults.hpp"
#include <rocrand/rocrand.h>

/* DO NOT EDIT THIS FILE
* This file is automatically generated by `/scripts/config-tuning/select_best_config.py`.
* This file is automatically generated by `/tuning/confgen/generate.py`.
*/

namespace rocrand_impl::host
{

template<class T>
struct generator_config_selector<ROCRAND_RNG_PSEUDO_XORWOW, T>
{
Expand Down Expand Up @@ -77,4 +73,4 @@ struct generator_config_selector<ROCRAND_RNG_PSEUDO_XORWOW, T>

} // end namespace rocrand_impl::host

#endif // ROCRAND_RNG_CONFIG_XORWOW_HPP_
#endif // ROCRAND_RNG_CONFIG_XORWOW_CONFIG_HPP_
5 changes: 5 additions & 0 deletions projects/rocrand/tuning/.gitignore
Original file line number Diff line number Diff line change
@@ -0,0 +1,5 @@
output
__pycache__
temp_*.cc
results.json
output
Loading
Loading