У меня есть код, в котором используется одномерный массив R
, который имеет 3N
элементов. Вы можете представить это как вектор положения частиц N
, например R=[r1x,r1y,r1z,r2x,r2y,...]
. Обратите внимание, что шаблон должен быть определен как это для краткого использования массива.Выполнение несмежного массива указателей, указывающих на одномерный целевой массив в fortran
В разделах кода мне нужно выполнить некоторые операции только по координатам x. Я в настоящее время использую что-то вроде этого:
Rx => R(1:3N-2:3)
и Rx
впоследствии используется в операциях. Это делает доступ несмежным, но мне было интересно, могу ли я надеяться на способ векторизации операций. В качестве альтернативы можно использовать OMP с петлей над частицами. Я хочу получить экспертную идею по этому вопросу и, в частности, наилучшую практическую работу.
Пожалуйста, используйте тег [tag: fortran], только несколько человек следуют fortran2008. –