Inclusion and Evaluation of CPU and GPGPU Parallel Processing Backends for a Chemical Reaction Network Simulator
Resumo
This paper presents the incorporation and evaluation of two new backends for the DNAr molecular computing simulator. The tool was extended to support dynamic selection among the original R backend deSolve, a Julia implementation DifferentialEquations.jl with multicore parallelism, and a Python/CUDA backend ginSODA for GPU execution. Results across twelve benchmarks show that the Julia backend reduces execution time by up to 67.7% in complex simulations while preserving high numerical accuracy, which remains superior to 98.5% in all cases. The analysis highlights that multithreading and GPU acceleration efficiency depend directly on circuit scale to amortize initialization overheads.Referências
Amdahl, G. M. (1967). Validity of the single processor approach to achieving large scale computing capabilities. AFIPS Conference Proceedings, 30:483–485.
Anderson, N. G. and Bhanja, S. (2014). Field-coupled nanocomputing. Springer.
Arute, F., Arya, K., Babbush, R., Bacon, D., Bardin, J. C., Barends, R., Biswas, R., Boixo, S., Brandao, F. G., Buell, D. A., et al. (2019). Quantum supremacy using a programmable superconducting processor. Nature, 574(7779):505–510.
Asanović, K., Bodik, R., Catanzaro, B. C., Gebis, J. J., Husbands, P., Keutzer, K., Patterson, D. A., Plishker, W. L., Shalf, J., Williams, S. W., and Yelick, K. A. (2006). The landscape of parallel computing research: A view from berkeley. Technical Report UCB/EECS-2006-183, EECS Department, University of California, Berkeley.
Badelt, S., Grun, C., Sarma, K. V., Wolfe, B., Shin, S. W., and Winfree, E. (2020). A domain-level dna strand displacement reaction enumerator allowing arbitrary non-pseudoknotted secondary structures. Journal of the Royal Society Interface, 17(167):20190866.
Berleant, J., Berlind, C., Badelt, S., Dannenberg, F., Schaeffer, J., and Winfree, E. (2018). Automated sequence-level analysis of kinetics and thermodynamics for domain-level dna strand-displacement systems. Journal of the Royal Society Interface, 15(149):20180107.
Bezanson, J., Edelman, A., Karpinski, S., and Shah, V. B. (2017). Julia: A fresh approach to numerical computing. SIAM review, 59(1):65–98.
Bohr, M. (2009). A 30 year retrospective on dennard’s mosfet scaling paper. IEEE Solid-State Circuits Society Newsletter, 12(1):11–13.
Clamons, S., Qian, L., and Winfree, E. (2020). Programming and simulating chemical reaction networks on a surface. Journal of the Royal Society Interface, 17(166):20190790.
Hennessy, J. L. and Patterson, D. A. (2011). Computer architecture: a quantitative approach. Elsevier.
Lakin, M. R., Youssef, S., Polo, F., Emmott, S., and Phillips, A. (2011). Visual DSD: a design and analysis tool for DNA strand displacement systems. Bioinformatics, 27(22):3211–3213.
Lent, C. S., Henderson, K. W., Kandel, S. A., Corcelli, S. A., Snider, G. L., Orlov, A. O., Kogge, P. M., Niemier, M. T., Brown, R. C., Christie, J. A., et al. (2016). Molecular cellular networks: A non von neumann architecture for molecular electronics. In 2016 IEEE International Conference on Rebooting Computing (ICRC), pages 1–7. IEEE.
Marks, R. A. (2023). DNA Strand Displacement (DSD) as a Hardware Substrate for Digital, Analog and Machine Learning Systems. PhD thesis, Universidade Federal de Minas Gerais.
Marks, R. A., Vieira, D. K., Guterres, M. V., Oliveira, P. A., and Neto, O. P. V. (2019). Dnar-logic: A constructive dna logic circuit design library in r language for molecular computing. In Proceedings of the 32nd Symposium on Integrated Circuits and Systems Design, pages 1–6.
McCool, M., Robison, A. D., and Reinders, J. (2012). Structured Parallel Programming: Patterns for Efficient Computation. Morgan Kaufmann, Burlington, MA.
Meurer, A., Smith, C. P., Paprocki, M., et al. (2017). Sympy: symbolic computing in python. PeerJ Computer Science, 3:e103.
Moore, G. E. (1965). Cramming more components onto integrated circuits. Electronics, 38(8):114–117.
Nickolls, J., Buck, I., Garland, M., and Skadron, K. (2008). Scalable parallel programming with cuda. ACM Queue, 6(2):40–53.
Oliveira, P. A., Marks, R. A., Teixeira, J. V., Guterres, M. V., and Neto, O. P. V. (2023). Dnar-analog: A library with a multiplexer to easily design, program, and simulate dsd analog circuits. In 2023 IEEE 14th Latin America Symposium on Circuits and Systems (LASCAS), pages 1–4. IEEE.
Qian, L. and Winfree, E. (2011). Scaling up digital circuit computation with dna strand displacement cascades. science, 332(6034):1196–1201.
Rackauckas, C. and Nie, Q. (2017). Differentialequations. jl–a performant and featurerich ecosystem for solving differential equations in julia. Journal of open research software, 5(1):15–15.
Rauber, T. and Rünger, G. (2013). Parallel Programming: for Multicore and Cluster Systems. Springer, Berlin, Germany, 2 edition.
S. Nobile, M., Cazzaniga, P., Besozzi, D., and Mauri, G. (2019). ginsoda: massive parallel integration of stiff ode systems on gpus: M. s nobile et al. The Journal of Supercomputing, 75(12):7844–7856.
Schaeffer, J. M., Thachuk, C., and Winfree, E. (2015). Stochastic simulation of the kinetics of multiple interacting nucleic acid strands. In DNA Computing and Molecular Programming: 21st International Conference, DNA 21, Boston and Cambridge, MA, USA, August 17-21, 2015. Proceedings 21, pages 194–211. Springer.
Schuman, C. D., Kulkarni, S. R., Parsa, M., Mitchell, J. P., Date, P., and Kay, B. (2022). Opportunities for neuromorphic computing algorithms and applications. Nature Computational Science, 2(1):10–19.
Shen, Y., Harris, N. C., Skirlo, S., Prabhu, M., Baehr-Jones, T., Hochberg, M., Sun, X., Zhao, S., Larochelle, H., Englund, D., et al. (2017). Deep learning with coherent nanophotonic circuits. Nature photonics, 11(7):441–446.
Vieira, D. K., Guterres, M. V., Marks, R. A., Oliveira, P. A., Fonte Boa, M. C., and Vilela Neto, O. P. (2020). Dnar: An r package to simulate and analyze crn and dsd networks. ACS Synthetic Biology, 9(12):3416–3421.
Zadeh, J. N., Steenberg, C. D., Bois, J. S., Wolfe, B. R., Pierce, M. B., Khan, A. R., Dirks, R. M., and Pierce, N. A. (2011). Nupack: Analysis and design of nucleic acid systems. Journal of computational chemistry, 32(1):170–173.
Anderson, N. G. and Bhanja, S. (2014). Field-coupled nanocomputing. Springer.
Arute, F., Arya, K., Babbush, R., Bacon, D., Bardin, J. C., Barends, R., Biswas, R., Boixo, S., Brandao, F. G., Buell, D. A., et al. (2019). Quantum supremacy using a programmable superconducting processor. Nature, 574(7779):505–510.
Asanović, K., Bodik, R., Catanzaro, B. C., Gebis, J. J., Husbands, P., Keutzer, K., Patterson, D. A., Plishker, W. L., Shalf, J., Williams, S. W., and Yelick, K. A. (2006). The landscape of parallel computing research: A view from berkeley. Technical Report UCB/EECS-2006-183, EECS Department, University of California, Berkeley.
Badelt, S., Grun, C., Sarma, K. V., Wolfe, B., Shin, S. W., and Winfree, E. (2020). A domain-level dna strand displacement reaction enumerator allowing arbitrary non-pseudoknotted secondary structures. Journal of the Royal Society Interface, 17(167):20190866.
Berleant, J., Berlind, C., Badelt, S., Dannenberg, F., Schaeffer, J., and Winfree, E. (2018). Automated sequence-level analysis of kinetics and thermodynamics for domain-level dna strand-displacement systems. Journal of the Royal Society Interface, 15(149):20180107.
Bezanson, J., Edelman, A., Karpinski, S., and Shah, V. B. (2017). Julia: A fresh approach to numerical computing. SIAM review, 59(1):65–98.
Bohr, M. (2009). A 30 year retrospective on dennard’s mosfet scaling paper. IEEE Solid-State Circuits Society Newsletter, 12(1):11–13.
Clamons, S., Qian, L., and Winfree, E. (2020). Programming and simulating chemical reaction networks on a surface. Journal of the Royal Society Interface, 17(166):20190790.
Hennessy, J. L. and Patterson, D. A. (2011). Computer architecture: a quantitative approach. Elsevier.
Lakin, M. R., Youssef, S., Polo, F., Emmott, S., and Phillips, A. (2011). Visual DSD: a design and analysis tool for DNA strand displacement systems. Bioinformatics, 27(22):3211–3213.
Lent, C. S., Henderson, K. W., Kandel, S. A., Corcelli, S. A., Snider, G. L., Orlov, A. O., Kogge, P. M., Niemier, M. T., Brown, R. C., Christie, J. A., et al. (2016). Molecular cellular networks: A non von neumann architecture for molecular electronics. In 2016 IEEE International Conference on Rebooting Computing (ICRC), pages 1–7. IEEE.
Marks, R. A. (2023). DNA Strand Displacement (DSD) as a Hardware Substrate for Digital, Analog and Machine Learning Systems. PhD thesis, Universidade Federal de Minas Gerais.
Marks, R. A., Vieira, D. K., Guterres, M. V., Oliveira, P. A., and Neto, O. P. V. (2019). Dnar-logic: A constructive dna logic circuit design library in r language for molecular computing. In Proceedings of the 32nd Symposium on Integrated Circuits and Systems Design, pages 1–6.
McCool, M., Robison, A. D., and Reinders, J. (2012). Structured Parallel Programming: Patterns for Efficient Computation. Morgan Kaufmann, Burlington, MA.
Meurer, A., Smith, C. P., Paprocki, M., et al. (2017). Sympy: symbolic computing in python. PeerJ Computer Science, 3:e103.
Moore, G. E. (1965). Cramming more components onto integrated circuits. Electronics, 38(8):114–117.
Nickolls, J., Buck, I., Garland, M., and Skadron, K. (2008). Scalable parallel programming with cuda. ACM Queue, 6(2):40–53.
Oliveira, P. A., Marks, R. A., Teixeira, J. V., Guterres, M. V., and Neto, O. P. V. (2023). Dnar-analog: A library with a multiplexer to easily design, program, and simulate dsd analog circuits. In 2023 IEEE 14th Latin America Symposium on Circuits and Systems (LASCAS), pages 1–4. IEEE.
Qian, L. and Winfree, E. (2011). Scaling up digital circuit computation with dna strand displacement cascades. science, 332(6034):1196–1201.
Rackauckas, C. and Nie, Q. (2017). Differentialequations. jl–a performant and featurerich ecosystem for solving differential equations in julia. Journal of open research software, 5(1):15–15.
Rauber, T. and Rünger, G. (2013). Parallel Programming: for Multicore and Cluster Systems. Springer, Berlin, Germany, 2 edition.
S. Nobile, M., Cazzaniga, P., Besozzi, D., and Mauri, G. (2019). ginsoda: massive parallel integration of stiff ode systems on gpus: M. s nobile et al. The Journal of Supercomputing, 75(12):7844–7856.
Schaeffer, J. M., Thachuk, C., and Winfree, E. (2015). Stochastic simulation of the kinetics of multiple interacting nucleic acid strands. In DNA Computing and Molecular Programming: 21st International Conference, DNA 21, Boston and Cambridge, MA, USA, August 17-21, 2015. Proceedings 21, pages 194–211. Springer.
Schuman, C. D., Kulkarni, S. R., Parsa, M., Mitchell, J. P., Date, P., and Kay, B. (2022). Opportunities for neuromorphic computing algorithms and applications. Nature Computational Science, 2(1):10–19.
Shen, Y., Harris, N. C., Skirlo, S., Prabhu, M., Baehr-Jones, T., Hochberg, M., Sun, X., Zhao, S., Larochelle, H., Englund, D., et al. (2017). Deep learning with coherent nanophotonic circuits. Nature photonics, 11(7):441–446.
Vieira, D. K., Guterres, M. V., Marks, R. A., Oliveira, P. A., Fonte Boa, M. C., and Vilela Neto, O. P. (2020). Dnar: An r package to simulate and analyze crn and dsd networks. ACS Synthetic Biology, 9(12):3416–3421.
Zadeh, J. N., Steenberg, C. D., Bois, J. S., Wolfe, B. R., Pierce, M. B., Khan, A. R., Dirks, R. M., and Pierce, N. A. (2011). Nupack: Analysis and design of nucleic acid systems. Journal of computational chemistry, 32(1):170–173.
Publicado
03/11/2026
Como Citar
MACEDO, Sirlenon de Araujo; BARALDI, Sarah Merigue; MARKS, Renan Albuquerque.
Inclusion and Evaluation of CPU and GPGPU Parallel Processing Backends for a Chemical Reaction Network Simulator. In: SIMPÓSIO EM SISTEMAS COMPUTACIONAIS DE ALTO DESEMPENHO (SSCAD), 27. , 2026, Natal/RN.
Anais [...].
Porto Alegre: Sociedade Brasileira de Computação,
2026
.
p. 112-125.
DOI: https://doi.org/10.5753/sscad.2026.34372.
